[Haskell-cafe] Is Haskell capable of matching C in string processing performance?

Tom Nielsen tanielsen at gmail.com
Fri Jan 22 10:30:33 EST 2010


> It seems to me this indicates that the big expense here is the call into the I/O system.

So let's make fewer I/O calls:

import Control.Monad
import qualified Data.ByteString.Char8 as S
import System.IO

null_str1 = S.concat $ take 1000 $ repeat $ S.pack "null"

n1 = 5000000 `div` 1000

main = withBinaryFile "out3.json" WriteMode $ \h -> do
 hPutStr h "["
 replicateM_ n1 (S.hPutStr h null_str1)
 hPutStr h "]"
---
this is 10x faster. Whether this is cheating or not depends on what
John actually wants to do.

Tom


More information about the Haskell-Cafe mailing list