Hello Andrew, Sunday, July 8, 2007, 7:16:46 PM, you wrote: >>> [Char] is a linked list of pointers to heap-allocated fullword >>> integers, 20 (40) bytes per character (assuming non-latin1). >>> >> >> Hey, I love ByteStrings! ;-) >>
actually only 12 (24 for 64-but cpu) as far as you use latin-1 chars. the same should be true for [word8] but it's better to ask Simon OTOH, using GC makes memory usage 3x larger. in those practical C compression algorithms, memory is controlled manually. so, you have 36x space overhead. now you may guess how i decreased memory usage 12-fold :) > If only there were a way to write functions that transparently work on > both [x] and ByteString... use pack/unpack to convert between them - it's cheap compared to your algorithms > Anyone have any comments on how ByteString is different from, say, > UArray Word8? mainly, algorithms implemented. the only technical difference is that UArray uses ByteArray# and ByteString uses PinnedByteArray#, which has different behavior in GC -- Best regards, Bulat mailto:[EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe