[Python-Dev] recursive closures - reference leak
Maciej Fijalkowski
fijall at gmail.com
Tue Dec 8 15:58:13 CET 2009
>
> Ah, yes. In my particular case, I'm running a cluster of hundreds of nodes, supporting 50.000 players in a real-time space simulation. We disable GC because of its unpredictable performance impact and are careful to avoid reference cycles. We use gc from time to time to _find_ those cases that our programmers have missed, and fix them. This is how I stumbled upon this particular reference cycle that even a high level programmer would not have expected to have created. This is, IMHO the best use you can make of "gc": Help you code well, not let you cope with sloppy code :)
>
> K
>
Then it is a bit your fault. There is nothing particularly wrong with
creating reference cycles (ie you can't avoid having a gc running in
Java or Jython or anything else basically). 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.
Cheers,
fijal
More information about the Python-Dev
mailing list