[Python-3000] Delayed reference counting idea

Jim Jewett jimjjewett at gmail.com
Mon Sep 18 21:27:02 CEST 2006


On 9/18/06, Antoine Pitrou <solipsis at pitrou.net> wrote:
>
> Le lundi 18 septembre 2006 à 09:48 -0600, Adam Olsen a écrit :
> > * Bolt-on tracing GC such as Boehm-Demers-Weiser.  Totally unsupported
> > by the C standards and changes cache characteristics that CPython has
> > been designed with for years, likely with a very large performance
> > penalty.

> Has it been measured what cache effects reference counting entails ?

Probably not recently.

> With reference counting, each object is mutable from the point of view
> of the CPU cache (refcnt is always incremented and later decremented).

But each object request is only to one piece of memory, not two (obj
and header separate).

Just a reminder about Neil Schemenauer's (old) patch to use Boehm-Demers

http://mail.python.org/pipermail/python-list/1999-July/thread.html#7638
http://arctrix.com/nas/python/gc/
http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/threads.html#00056

According to http://codespeak.net/pypy/dist/pypy/doc/getting-started.html
PyPy sometimes translates to the use of BDW.

I also seem to remember (but can't find a reference) that someone
tried using a separate immortal namespace for basic objects like None,
but the hassle of deciding what to do on each object ate up the
savings.

-jJ


More information about the Python-3000 mailing list