[PyPy-issue] [issue673] Linux L2 cache size
pypy-dev-issue at codespeak.net
Fri Mar 25 13:07:06 CET 2011
Armin Rigo <armin.rigo at gmail.com> added the comment:
On my Linux machine, on 32-bit, os.sysconf(191) returns 0, and on 64-bit,
os.sysconf(191) returns 262144. The correct value however is 4MB, which happens
to be the size of the L3 cache here, returned (on 64-bit) by os.sysconf(194).
So it doesn't look like the one-size-fits-all solution either.
But perhaps more importantly, on modern CPUs like tannit (8MB of L3 cache), the
size of the nursery seems to matter less. I did not get definitive speed-ups
(at most 5%) between setting it to 1MB, 2MB, 4MB, 6MB, 9MB or 29MB... Yes, even
if it's *larger* than the L3 cache there is no performance drop. Go figure. It
seems that for this kind of CPU we can as well just pick a fixed number like 1
or 2 MB and be happy with it. Of course, on ARM I'm sure it matters more right
now, as it did 5 years ago on x86.
PyPy development tracker <pypy-dev-issue at codespeak.net>
More information about the Pypy-issue