[Python-Dev] Linus on garbage collection (original) (raw)

Georg Brandl g.brandl at gmx.net
Sat May 7 08:55:57 CEST 2011


On 07.05.2011 01:25, Greg Ewing wrote:

Neal Becker wrote:

http://gcc.gnu.org/ml/gcc/2002-08/msg00552.html There, Linus says

For example, if you have an explicit refcounting system, then it is quite natural to have operations like ...

notet *node = *np; if (node->count > 1) newnode = copyalloc(node); It's interesting to note that, even though you can get reference count information in CPython, it's not all that useful for doing things like that, because it's hard to be sure how many incidental references have been created on the way to the code concerned. So tricks like this at the Python level aren't really feasible in any robust way.

But they are at the C level, see for example the optimization for

string += something

if "string"'s reference count is exactly one.

Georg



More information about the Python-Dev mailing list