Newsgroups: comp.lang.smalltalk,comp.lang.scheme,comp.lang.java.tech,comp.lang.lisp,comp.lang.misc
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!newsstand.cit.cornell.edu!portc01.blue.aol.com!news-peer.gsl.net!news.gsl.net!swrinde!howland.erols.net!netcom.com!hbaker
From: hbaker@netcom.com (Henry Baker)
Subject: Re: Garbage Collection and Aging
Content-Type: text/plain; charset=ISO-8859-1
Message-ID: <hbaker-3110960951020001@10.0.2.1>
Sender: hbaker@netcom16.netcom.com
Content-Transfer-Encoding: 8bit
Organization: nil
X-Newsreader: Yet Another NewsWatcher 2.2.0
References: <s3c4tjofh1b.fsf@atchoum.inria.fr> <54ii57$q0o@cerberus.ibmoto.com> <MARKT.96Oct22212224@casper.harlqn.co.uk> <326e56e3.3947526@nntp.ix.netcom.com> <555ha8$r4u@mtinsc01-mgt.ops.worldnet.att.net> <3277716E.5EE@ccs.neu.edu>
Mime-Version: 1.0
Date: Thu, 31 Oct 1996 17:51:02 GMT
Lines: 31
Xref: glinda.oz.cs.cmu.edu comp.lang.smalltalk:45743 comp.lang.scheme:17282 comp.lang.java.tech:3417 comp.lang.lisp:23453 comp.lang.misc:26971

In article <3277716E.5EE@ccs.neu.edu>, will@ccs.neu.edu (Will Clinger) wrote:

> It appears that the most widely applicable heuristic is to
> assume that most newly allocated objects will become garbage
> sooner than most objects that have survived for some time.
> Nonetheless this heuristic fails for many real programs.  For
> example, it fails for a simple multipass compiler that builds
> an abstract syntax tree, performs static checking, and then
> generates code by a recursive tree-walk.
> 
> What Ungar actually did was
>   *  to notice that the generational aspect of the
>      Lieberman-Hewitt algorithm did not depend on its
>      real-time aspects,
>   *  to build an actual generational collector, and
>   *  to refine the heuristics suggested by Lieberman and Hewitt.
> 
> For example, Ungar's nursery idea improves the locality of
> allocation.

Ungar, et al, also later noticed that it was impossible to guess the
appropriate _size_ for the nursery, a priori.  This is kind of like the
situation in image processing, where you can do a lot with thresholding,
but the appropriate threshold is different for every image, and there aren't
any good heuristics for finding it.

See

ftp://ftp.netcom.com/pub/hb/hbaker/YoungGen.html  (also .ps.Z)

for a discussion of infant mortality.
