Don Stewart wrote: > jmillikin: >> Here's the fastest Haskell version I could come up with. It discards >> all error handling, validation, and correctness in the name of >> performance, but still can't get anywhere near C: >> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=16423 > > Thanks for posting the code. > > You're not using bytestrings?? > > They were invented to deal with the problem of [Char] being a poor > structure for large scale string processing, and you should have no > problem getting C-like string performance. > > http://www.cse.unsw.edu.au/~dons/papers/CSL06.html
In my limited experience, ByteStrings are great for reading data, but not that good for writing data that is being generated on the fly. For writing, good old difference lists or the Builder monoid / Put monad from Data.Binary seem to be best. Regards, Heinrich Apfelmus -- http://apfelmus.nfshost.com _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
