Oh I see what you're doing ... "Using this input file stored in /dev/shm"
So not measuring the IO performance at all. :) On Mar 19, 2013 9:27 PM, "Peter Simons" <sim...@cryp.to> wrote: > Hi Don, > > > Compare your program (made lazy) on lazy bytestrings using file IO: > [...] > > if I make those changes, the program runs even faster than before: > > module Main ( main ) where > > import Prelude hiding ( foldl, readFile ) > import Data.ByteString.Lazy.Char8 > > countSpace :: Int -> Char -> Int > countSpace i c | c == ' ' || c == '\n' = i + 1 > | otherwise = i > > main :: IO () > main = readFile "test.txt" >>= print . foldl countSpace 0 > > This gives > > | $ ghc --make -O2 -funbox-strict-fields test1 && time ./test1 > | 37627064 > | > | real 0m0.375s > | user 0m0.346s > | sys 0m0.028s > > versus: > > | $ ghc --make -O2 -funbox-strict-fields test2 && time ./test2 > | 37627064 > | > | real 0m0.324s > | user 0m0.299s > | sys 0m0.024s > > Whether getFile or getContents is used doesn't seem to make difference. > > Take care, > Peter >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe