[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

precise GC



We've been experimenting with precise GC in MzScheme and MrEd.

The precisely collected versions of MzScheme and MrEd do not yet work
so well that we've switched our daily tasks to them. And they currently
compile for Unix, only.

To avoid confusion with plain old MzScheme and MrEd, we're calling the
precisely collected variants "MrEd2k" and "MzScheme2k" for now. Scheme
code is supposed to run the same in the 2ks as in the plain-olds, but
the extension interface is different (and not yet documented).

To try out precise collection, get the current code via the anonymous
CVS server (see http://www.cs.utah.edu/plt/anoncvs/), build MzScheme
and MrEd in the usual way, and then build the 2ks:

  cd plt/src/mzscheme
  mzmake 2k
  cd ../mred
  gnumake 2k

However,

 1) MrEd2k still has significant bugs. For example, I can't run my mail
    program for more than a day before something goes wrong.

 2) The experimental precise collector (generational, compacting) is
    currently slower than the conservative collector. In the short run,
    the footprint isn't any smaller, either.

 3) The main evaluation loop is not yet tuned for precise collection,
    so even non-allocating loops run slower in the 2ks.

Feedback is welcome.

Matthew