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