Queue cleanup

Paul Rubin no.email at nospam.invalid
Sat Aug 28 09:33:10 CEST 2010

Dennis Lee Bieber <wlfraed at ix.netcom.com> writes:
> 	The nice thing about it [reference counting] is that it is sort
> of deterministic -- one can examine code and determine that an object
> is collected at some point in the execution...
> 	Heap marking, OTOH, tends to run at indeterminate times, which could
> have an impact if one needs predictable response timings

Reference counting has the same problem.  If you drop the last reference
to a complex structure, it could take quite a long time to free all the
components.  By contrast there are provably real-time tracing gc
schemes, including some parallelizeable ones.  One reason CPython still
can't run threads on parallel cores is it would have to lock the
reference counts every time they're updated, and the slowdown from that
is terrible.

More information about the Python-list mailing list