2007-08-14から1日間の記事一覧

Concurrent Clean : String2 : 速度調査

文字列の連結に特化してテストプログラムを書いてみた 番号 内容 N=10000 N=50000 #0 文字配列 0.14 3.24 #1 文字配列 ブロック毎 0.02 0.32 #2 リスト 1.41 - #3 リスト reverse 0.00 0.01 #4 リスト ブロック毎 0.11 2.26 #5 String2 0.00 0.04 #6 String2…

Concurrent Clean : String2 : 効率改善

簡単な速度調査とかやってみて分かったのは、文字列としての文字配列の性能というのはバカにならないくらいよいということだ。それは、Cleanのような非破壊的な文字配列であってもそうなのだ。 これは、まあ、結果を見てみればそうだろうと思ったのだけれど…

Concurrent Clean : String2 : さらに検討

その上で、さらに少し書き換えてみて気づいたこと。 String2ではFinger treeの要素として、 :: String2Elem = {cArr :: !{#Char} ,sInd :: !Int ,eInd :: !Int } というレコードを生成している。で、どうもこのレコードの生成・アクセスコストがかなり影響し…