Marcin 'Qrczak' Kowalczyk <email@example.com> 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
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 Warnock <firstname.lastname@example.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607