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 ... >> >> note_t *node = *np; >> if (node->count > 1) >> newnode = copy_alloc(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 _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com