[Python-Dev] recursive closures - reference leak

Kristján Valur Jónsson kristjan at ccpgames.com
Tue Dec 8 16:58:13 CET 2009


Yes.  Just –in-time releaseing of objects is much preferable to delayed release.
They tend to be in the cache, the individual runs of releases are smaller and have less of an individual impact.
a gc.collect() cycle visits a large amount of objects that it won‘t release causing cache thrashing.
There is a reason we disabled ‚gc‘, and it is simply because we get lower cpu and smoother execution.
K

From: daniel.stutzbach at gmail.com [mailto:daniel.stutzbach at gmail.com] On Behalf Of Daniel Stutzbach
Sent: 8. desember 2009 15:04
To: Maciej Fijalkowski
Cc: Kristján Valur Jónsson; python-dev at python.org
Subject: Re: [Python-Dev] recursive closures - reference leak

2009/12/8 Maciej Fijalkowski <fijall at gmail.com<mailto:fijall at gmail.com>>
Note that disabling gc
does not mean that you will not have unpredictable pauses. Consider
for example that if you loose a reference to a very long chain of
objects, you can have arbitrarily many frees being called before
anything else can happen.

That strikes me as a *predictable* long pause.
--

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20091208/77d15dd6/attachment.htm>


More information about the Python-Dev mailing list