[Python-Dev] deja-vu .. python locking

Martin Devera devik at cdi.cz
Wed Sep 20 08:00:35 CEST 2006


Greg Ewing wrote:
> Martin Devera wrote:
> 
>> Greg, what change do you have in mind regarding that "3 instruction
>> addition" to refcounting ?
> 
> I don't have any change in mind. If even an atomic inc
> is too expensive, it seems there's no hope for us.

Just from curiosity, would be a big problem removing refcounting and live
with garbage collection only ? I'm not sure if some parts of py code
depends on exact refcnt behaviour (I guess it should not).
Probably not for mainstream, but maybe as compile time option as part
of freethreading solution only for those who need it.
Even if you can do fast atomic inc/dec, it forces cacheline with
refcounter to ping-pong between caches of referencing cpus (for read only
class dicts for example) so that you can probably never get good SMP
scalability.
Consider main memory latency 100ns, then on 8 way 2GHz SMP system where
paralel computation within the same py class is going on all cpus.
When you manage to do a lot of class references in a loop, say 6400
instructions apart (quite realistic) then at least one CPU each time
will block on that inc/dec, so that you lost one cpu in overhead...


More information about the Python-Dev mailing list