[Python-Dev] Revised 1.6 jobs list

Jeremy Hylton jeremy@beopen.com
Mon, 5 Jun 2000 00:43:45 -0400 (EDT)


[Entry from AMK's 1.6 jobs list:]
> Conservative garbage collection of cycles (maybe -- I don't know what GvR
>         thinks about this)

I believe Guido would like to see a version of Neil's patches
integrated into Python 1.6, most likely turned off by default but with
a configure flag to enable.

I would like to check the patch in soon but I have had some trouble
with segfaults.  I ran a simple benchmark using the compiler code in
the nondist tree to compile itself.  I get a crash during a routine
collect pass, where it looks like the GC header info is getting
trashed.  I haven't had much time to track it any farther.

If anyone else is interested, I'd love to hear about successes using
the GC patch with other large programs.  I'd like to run at least
Gadfly and Grail successfully before committing the patch.

I wonder if "conservative" is the right word to describe the GC
approach?  I think conservative means that the garbage collector is
not told what is a pointer and what is not, so it must conservatively
assume that every bit pattern could represent a pointer.  The GC patch
is not conservative in this sense.  It does have a mechanism that is
"conservative" in a very broad sense, i.e. it does not attempt to
trace every reference, but depends on the ref count fields to account
for references held in untraced variables on the C stack.  I'm not
sure what the right terminology for this approach is.

I also worry that the performance impact of the GC patch is not at all
understood.  I don't know what informed the choice of heuristics for
deciding how often to collect and how to move objects between
generations.  (The current scheme has three generations.)  It would be
good to get a working patch in before the next alpha release and then
gather a lot of data to help make good choices about these parameters.

Jeremy

PS Even if Guido doesn't think the GC patch should go in, we've got a
golden opportunity.  I caught him in a state of newly-wedded bliss
this morning and convinced him to let me check in my non-optional
braces patch while he's on his honeymoon.  He's so happy he'll let us
get away with anything.

PPS I don't know if we should really carry on about personal matters
on a development list, but I hope no one minds if I indulge briefly:
Guido & Kim's wedding yesterday was beautiful and fun, held outside in
meadow looking out on hills and woods.  They are great couple and I'm
sure they'll be very happy.