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 stw
Recipients pitrou, stw
Date 2012-05-22.08:57:03
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1337677024.32.0.404455952894.issue14775@psf.upfronthosting.co.za>
In-reply-to
Content
I'd come to the same conclusion - as the new dict is built up (using batch build) it keeps appearing in generation 0, and the gc has to walk over it to determine that it should be untracked. 

However, this only seems to be true if the pickle file is created using pickle - it doesn't happen with files generated with cPickle. With cPickle the dict remains tracked, and passes from generation 0 to 1 to 2. The only difference is that pickle memoizes the tuples, while cPickle doesn't. Why does the memoization make a difference?
History
Date User Action Args
2012-05-22 08:57:04stwsetrecipients: + stw, pitrou
2012-05-22 08:57:04stwsetmessageid: <1337677024.32.0.404455952894.issue14775@psf.upfronthosting.co.za>
2012-05-22 08:57:03stwlinkissue14775 messages
2012-05-22 08:57:03stwcreate