[Python-3000] Delayed reference counting idea

Brian Quinlan brian at sweetapp.com
Tue Sep 19 18:05:46 CEST 2006


Marcin 'Qrczak' Kowalczyk wrote:
> Brian Quinlan <brian at sweetapp.com> writes:
> 
>>> Reference counting is inefficient, doesn't by itself handle cycles,
>>> and is impractical to combine with threads which run in parallel. The
>>> general consensus of modern language implementations is that a tracing
>>> GC is the future.
>> How is reference counting inefficient?

Do somehow know that tracing GC would be more efficient for typical 
python programs or are you just speculating?

> It involves operations every time an object is merely passed around,
> as references to the object are created or destroyed.

But if the lifetime of most objects is confined to a single function 
call, isn't reference counting going to be quite efficient?

> It doesn't move objects in memory, and thus free memory is fragmented.

OK. Have you had memory fragmentation problems with Python?

> Memory allocation can't just chop from from a single area of free memory.
> It can't allocate several objects with the cost of one allocation either.

I'm not sure what you mean here.

Cheers,
Brian


More information about the Python-3000 mailing list