
[Andrew M. Kuchling]
... Similarly, does the conservative GC patch splatter changes all over the place, or is it very localized?
Part of its problem is that it's *too* localized (which was, paradoxically, I suspect part of its initial quick-eyeball appeal to Guido -- it "looks like" an amazingly self-contained patch). For example, all the code to chase pointers in various types of objects is hiding in a single function, which does a string of "if type is list then this else if type is tuple then that ..." tests. This stuff clearly needs to be distributed across the object implementations and dispatched to via a new slot in type objects; there's no code for that now. I expect it would take a minimum of two weeks (full-time work) to make this code ready for prime time (but mostly to slash the space and time use -- and with no certainty of "good enough" in the end). BTW, "conservative" is a misleading adjective for this approach -- it never guesses ("guessing on the safe side" whether or not some bit pattern is a pointer is what "conservative" customarily means in the GC world).
Is adding the NumPy array type straightforward?
DavidA nixed that one in no uncertain terms! maybe-hp-will-give-up-unicode-and-we-can-release-tomorrow-ly y'rs - tim