[gclist] object identity & copying collection

Hans Boehm boehm@hoh.mti.sgi.com
Wed, 10 Dec 1997 23:18:16 -0800


On Dec 11,  5:51pm, Fergus Henderson wrote:
> Subject: Re: [gclist] object identity & copying collection
> Mark Tillotson <markt@harlequin.co.uk> wrote:
> > (Incidentally
> > the cost of fragmentation is surely more than one word per object?)
>
> Good question.  With the Boehm (et al) collector,
> is there a simple way of measuring the cost of fragmentation?
>
According to some of the UTexas work, the answer is very unclear.  15%
fragmentation loss or less seems to be typical for good (nonGC) allocators.
That means that for typical object sizes it's borderline.  GC seems to increase
fragmentation a bit.  (This is in addition to uncollected garbage, which always
adds space overhead for GC.)  But then you can play other games ...

You can get some idea of fragmentation losses in my collector by looking at GC
logs carefully.  At the time of a heap expansion, look at the amount of live
memory allocated at the preceding collection plus memory allocated since then
vs heap size.  (There was a recent complaint on comp.lang.modula3 about
fragmentation with my collector.  It looks like it's only 13% (+ internal small
object fragmentation) for the program in question.  Unfortunately, I
haven't yet had time to track down the real problem in that case.)

Hans



-- 
Hans-Juergen Boehm
boehm@mti.sgi.com