On Thu, 2007-06-21 at 08:14 +0400, Bulat Ziganshin wrote: > Hello Duncan, > > Thursday, June 21, 2007, 7:36:13 AM, you wrote: > > > The smallest possible would be 2 words overhead by just using a > > ByteArray#, > > i tried it once and found that ByteArray# size is returned rounded to 4 - > there is no way in GHC runtime to alloc, say, exactly 37 bytes. and > don't forget to add 2 unused bytes at average
Right, GHC heap object are always aligned to the natural alignment of the architecture, be that 4 or 8 bytes. Try the same experiment with C's malloc. I'd be very surprised if you can allocate 37 bytes and not end up using 40 (plus some extra for remembering the allocation length). Duncan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe