[Python-Dev] Some dull gc stats

Kevin Jacobs jacobs@penguin.theopalgroup.com
Mon, 1 Jul 2002 06:44:52 -0400 (EDT)


On Mon, 1 Jul 2002, Tim Peters wrote:
> I checked in a surprisingly large patch to change the way we collect a
> generation.
>[...] 
> The point was that almost everything is reachable in the end, and moving an
> object between lists costs six pointer stores (updating prev and next
> pointers in the object, and in each of the two lists).  So if most stuff is
> doomed to be reachable in the end, better to move the unreachable stuff than
> to move the reachable stuff.
>[...]
> It would be nicer if we could drive scanned there down to 0 <wink>.

This change may be a short-term win if I can get Jeremy's idea working.  It
involves temporarily untracking objects with known external roots, so many
more objects become unreachable.  These include objects stored on the
c-eval stack, local variables in the current frame, and possibly other
select places.

I have no idea if this approach will make enough of a difference to be
worthwhile, but it seems like a worthy experiment.

-Kevin

--
Kevin Jacobs
The OPAL Group - Enterprise Systems Architect
Voice: (216) 986-0710 x 19         E-mail: jacobs@theopalgroup.com
Fax:   (216) 986-0714              WWW:    http://www.theopalgroup.com