Release schedule for GHC 5.02

Simon Marlow [email protected]
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