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

thoughts about garbage collection



Maybe someone already thought of this, but I'll give it a shot.  Has anyone 
gathered stats on the amount of time spent scanning old-to-old references in 
cards per scavenge?  Depending on that number, I have a suggestion that might 
speed up scavenging by quite a bit.

According to the papers I've read on Self's current scavenging setup, the 
card-marking memory overhead is around 45k.  If the number of old-to-new 
references per scavenge is small enough, then the marked old space cards might 
 be mostly pointing to old data.

My question is: do you think it might be more efficient to use the card marker 
space for a stack to remember the addresses of the slots in old space that 
were stored to?  If there are less than 11k stores (or even 11k stores in old 
objects) per scavenge, this would be feasable using the current card-marker 
overhead.  This way, you can check only those slots that are stored in, rather 
than scan all 128 bytes of each marked card.

	-- Bill Burdick
	burdick@ars.rtp.nc.us