[Haskell-cafe] ACM Task for C++ and Java programmers in Haskell. How to make code faster?

Vasyl Pasternak vasyl.pasternak at gmail.com
Tue Mar 24 15:31:16 EDT 2009

I changed the program, now it similar to the program from the wiki

The version with ByteString compared to version with ordinary Strings
works 3.5 times faster.
(I put it to http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2830)

But version with Data.Trie dissapointed me, it works 5 times slover
than version with Data.Map ByteString.
(here is the code http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2829)

Anyway, thanks to everyone who helped me, Haskell is really powerfull
tool in clever hands :)

2009/3/23 wren ng thornton <wren at freegeek.org>:
> Vasyl Pasternak wrote:
>> The entire code I placed on
> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2764
>> Could someone help me to make this code faster? I'd like to see
>> solution that will be elegant and fast, without heavy optimizations,
>> that will make code unreadable. Also, if it possible, prepare the
>> program to support SMP parallelism.
> The solution's already been posted, but to make this particular code
> faster, I recommend using Data.Trie instead of Data.Map ByteString. Tries
> are faster for lookup since they don't redundantly check the prefix of the
> query; also they're better for memory usage because they don't store
> redundant copies of the prefixes.
> http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bytestring-trie
> --
> Live well,
> ~wren
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

Best regards,
Vasyl Pasternak

More information about the Haskell-Cafe mailing list