[Haskell-cafe] Re: Is Haskell capable of matching C in string
processing performance?
Heinrich Apfelmus
apfelmus at quantentunnel.de
Fri Jan 22 05:00:14 EST 2010
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
More information about the Haskell-Cafe
mailing list