[Python-Dev] Python 1.6 timing (fwd)

Tim Peters tim_one@email.msn.com
Thu, 20 Jan 2000 15:35:44 -0500


[Christian]
> Conclusion: I vote for a kind of GC that does just
> what refcounts cannot do, but please keep with the
> refcounts.

[Guido]
> The patch that I received and that has Tim's <0.5
> blessing> does just that. I haven't had the time to
> understand why it doesn't have his <1.0 blessing>.

Primarily because it doesn't reclaim the most common cycles; e.g., cycles
among class instances aren't touched.  This seems easily repairable, but at
an unknown cost (it needs to do the "reachability" transitive closure
business from the set of all "suspicious" objects, and instances are never
considered suspicious now; adding them will certainly cause a lot more
pointer chasing).

Apart from that, the code appears unreasonably expensive as written today,
using e.g. splay trees instead of hash tables to keep track of objects.

The author hasn't said anything more in a bit over two weeks, so I suspect
he's off on other things now.  The technical approach is sound, but even its
inventor (Rafael Lins; Toby Kelsey may have reinvented it on his own,
though) stresses that getting it to run fast is difficult.

needs-work!-ly y'rs  - tim, who hasn't the time to do it