This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author stutzbach
Recipients loewis, pitrou, stutzbach
Date 2008-12-17.23:56:56
SpamBayes Score 0.0015878838
Marked as misclassified No
Message-id <1229558217.63.0.0499235074943.issue4688@psf.upfronthosting.co.za>
In-reply-to
Content
I've looked very quickly over your patches to try to figure what rule
qualifies a tuple or dict as simple enough to be untracked, out of
curiosity.

For tuples, I think the rule is:
    If an object is immutable, and it points only to untracked objects,
the object can be untracked.

Is that right?  If so, you could perform the same optimization on the
frozenset() type.

Why do empty tuples have to be tracked?

The dict patch adds a boolean flag to the dict data structure to
indicate whether the dict is being tracked or not.  I think.  Couldn't
you use _PyObject_GC_IS_TRACKED() instead?

What's the rule for when a dict can be tracked or untracked?  Do you
need to recheck the rule every time the dict is modified?
History
Date User Action Args
2008-12-17 23:56:57stutzbachsetrecipients: + stutzbach, loewis, pitrou
2008-12-17 23:56:57stutzbachsetmessageid: <1229558217.63.0.0499235074943.issue4688@psf.upfronthosting.co.za>
2008-12-17 23:56:56stutzbachlinkissue4688 messages
2008-12-17 23:56:56stutzbachcreate