Subject: Re: Python and Lisp Test
From: rpw3@rpw3.org (Rob Warnock)
Date: Fri, 30 Dec 2005 03:54:02 -0600
Newsgroups: comp.lang.lisp
Message-ID: <Gs6dnS-_57EnnijeRVn-hw@speakeasy.net>
Marcin 'Qrczak' Kowalczyk  <qrczak@knm.org.pl> wrote:
+---------------
| My GC has two heaps, young and old. Minor GC moves live data from the
| young heap into the old heap. Major GC moves live data from both heaps
| into the newly allocated old heap. The minor heap has 64kB by default.
+---------------

That sounds really small to me. The literature I've read on generational
GCs with a "nursery" [e.g., Ungar, Appel, or especially Wilson et al
<http://www.cs.utexas.edu/users/oops/papers.html#caching-gen-gc>] making
the nursery [your young heap] be roughly the size of the CPU's secondary
cache [but not larger].

Also, be sure you keep the nursery in a fixed location [if you're not
already doing that], since the whole point of that approach is to keep
the memory in the nursery "hot" in the cache.


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607