Concurrent Clean : String2
いろいろ試しているわけですが、いまのところ、次のセッティングが一番効率がよくなるようで。
:: String2 :== String2Cons Char :: String2Cons a = ST !{#Char} | FT !(FingerTree Int String2Elem) BLOCKSIZE :== 512 :: String2Elem = {cArr :: !{#Char} ,sInd :: !Int ,eInd :: !Int }
これで決まりかなー、という感じ。
-
-
- -
-
あ、いや、これも同じ性能だな。
:: String2 :== String2Cons Char :: String2Cons a = ST !{#Char} | FT !(FingerTree Int {#Char}) BLOCKSIZE :== 512
シンプルさでいうとこっちだから、こっちかな。