[issue14775] Dict untracking can result in quadratic dict build-up

stw report at bugs.python.org
Tue May 22 10:57:04 CEST 2012


stw <silktw at googlemail.com> added the comment:

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?

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue14775>
_______________________________________


More information about the Python-bugs-list mailing list