
22 Jan
2010
22 Jan
'10
10:30 a.m.
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