Haskell-beginners problem with memory consuption
Simon Marlow
simonmar at microsoft.com
Thu Oct 2 11:34:53 EDT 2003
> Keep in mind that Strings are lists of characters. I think (somebody
> correct me if I'm wrong) GHC will store a character inside a cons
> cell, but that still leaves 8 bytes per character. Worst case it will
> store the 8-byte cons cell pointing to a 32-bit char value, 12 bytes
> per character. (Strings as lists-of-char is very useful, but not
> terribly efficient).
Worst case: 16 bytes per character, usual case (all characters <=
'\xff'): 8 bytes per character, because we have static copies of
characters 0-255 in the RTS. Using Data.PackedString or UArray Char: 4
bytes per character.
Cheers,
Simon
More information about the Haskell-Cafe
mailing list