Hmm. How are you compiling it? Using bytestring 0.9.1.x ? Should be fast, http://shootout.alioth.debian.org/gp4/benchmark.php?test=sumcol&lang=all
Assuming you're turning on optimisations ( ghc -O2 ) -- Don 666wman: > the problem is that using readInt is actually _as slow_, at least using my > test script :-(( > > On Tue, Oct 7, 2008 at 5:12 AM, Don Stewart <[EMAIL PROTECTED]> wrote: > > 666wman: > > a slight modification to compile it : > > > > change: > > where sumFile = sum . map read . L.words > > to : > > where sumFile = sum . map (read . L.unpack) . L.words > > > > but it's actually _slower_ than the non-bytestring version. > > Never unpack a bytestring. > > import qualified Data.ByteString.Lazy.Char8 as S > > main = print . go 0 =<< S.getContents > where > go n s = case S.readInt s of > Nothing -> n > Just (k,t) -> go (n+k) (S.tail t) > > Assuming you're reading int, integers or doubles. > > References > > Visible links > 1. mailto:[EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe