[Python-Dev] Linus on garbage collection

Michael Foord fuzzyman at voidspace.org.uk
Fri May 6 19:06:35 CEST 2011


On 06/05/2011 17:51, Stefan Behnel wrote:
> Mark Shannon, 06.05.2011 18:33:
>> skip at pobox.com wrote:
>>> Antoine> Since we're sharing links, here's Matt Mackall's take:
>>> Antoine>
>>> http://www.selenic.com/pipermail/mercurial-devel/2011-May/031055.html
>>>
>>>> From that note:
>>>
>>> 1: You can't have meaningful destructors, because when destruction
>>> happens is undefined. And going-out-of-scope destructors are extremely
>>> useful. Python is already a rather broken in this regard, so feel free
>>> to ignore this point.
>>>
>>> Given the presence of cyclic data I don't see how reference counting or
>>> garbage collection win. Ignoring the fact that in a pure reference 
>>> counted
>>> system you won't even consider cycles for reclmation, would both RC 
>>> and GC
>>> have to punt because they can't tell which object's destructor to call
>>> first?
>>
>> It doesn't matter which is called first.
>
> May I quote you on that one the next time my software crashes?
>

Arbitrarily breaking cycles *could* cause a problem if a destructor 
attempts to access an already collected object. Not breaking cycles 
*definitely* leaks memory and definitely doesn't call finalizers.

Michael

> It may not make a difference for the runtime, but the difference for 
> user software may be "dead" or "alive".
>
> Stefan
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk


-- 
http://www.voidspace.org.uk/

May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html



More information about the Python-Dev mailing list