Release schedule for GHC 5.02
Simon Marlow
simonmar@microsoft.com
Mon, 20 Aug 2001 11:10:56 +0100
> I can use a term sharing garbage collector,
> but is that what you mean with compacting ?
> For example, given the datatype:
>=20
> data T =3D N T T
> | L
>=20
> And the following graph before collection:
>=20
> N
> / \
> N N
> / \ / \
> L L L L
>=20
> Will this result in the graph below after
> compacting garbage collection ?
>=20
> N
> / \
> \ /
> N
> / \
> \ /
> L
No, it simply means that the heap is compacted in-place rather than the
live data copied into new memory and the old memory discarded. The
former is normally called "in-place compaction", "mark-compact", or just
"compaction", the latter is normally called "two-space" or "copying"
collection. In-place compaction is somewhat slower than copying, but
doesn't require any extra memory at garbage collection time, apart from
some extra space to store a bitmap - ie. 1/32 of the heap size on a
32-bit machine.
Cheers,
Simon