[Python-Dev] CPython optimization: storing reference counters outside of objects

"Martin v. Löwis" martin at v.loewis.de
Mon May 23 06:59:19 CEST 2011


> I'm not a compiler/profiling expert so the main question is if such
> design can work, and maybe someone was thinking about something
> similar?

My expectation is that your approach would likely make the issues
worse in a multi-CPU setting. If you put multiple reference counters
into a contiguous block of memory, unrelated reference counters will
live in the same cache line. Consequentially, changing one reference
counter on one CPU will invalidate the cached reference counters of
that cache line on other CPU, making your problem a) actually worse.

Regards,
Martin


More information about the Python-Dev mailing list