[Python-Dev] CPython optimization: storing reference counters outside of objects (original) (raw)

"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