[Haskell-cafe] Optimization with Strings ?

Duncan Coutts duncan.coutts at googlemail.com
Fri Dec 4 12:08:58 EST 2009


On Thu, 2009-12-03 at 13:03 +0100, Emmanuel CHANTREAU wrote:
> Hello
> 
> In my futur program, it use a lot of binary trees with strings (words)
> as leaf. There is just arround 1000 words and they will appear a lot of
> times. The program will possibly consume a lot of process and memory
> (it is a mathematics proover).
> 
> I began this program in C++ but haskell has a prety good speed and
> memory footprint and is easier. But I don't know if it worth to do this
> optimization: having a dictionary to translate string words in Int.
> 
> The answer depends on the automatic optimizations in GHC, because GHC
> could compare quickely two strings if it is the same object, so it
> depends if program generated by GHC have a dictionary (tree) of strings
> internaly. Someone knows this ?

There's nothing automatic about it. It depends on the implementation of
the type of string you are using. For the String type there is no
equality short-cut, for ByteString there is.

Duncan



More information about the Haskell-Cafe mailing list