[Python-Dev] cpython: Improve struct cache locality by bring commonly accessed fields close together. (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Fri Feb 20 11:47:09 CET 2015


On Fri, 20 Feb 2015 08:50:10 +0000 raymond.hettinger <python-checkins at python.org> wrote:

https://hg.python.org/cpython/rev/0ba4bcc0a7a6 changeset: 94696:0ba4bcc0a7a6 user: Raymond Hettinger <python at rcn.com> date: Fri Feb 20 00:50:04 2015 -0800 summary: Improve struct cache locality by bring commonly accessed fields close together.

files: Modules/randommodule.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Modules/randommodule.c b/Modules/randommodule.c --- a/Modules/randommodule.c +++ b/Modules/randommodule.c @@ -78,8 +78,8 @@ typedef struct { PyObjectHEAD + int index; unsigned long state[N]; - int index; } RandomObject;

I may be missing something something, but I don't see how that improves cache locality. The index is only ever looked up when the state is also looked up, and since the state is used sequentially there are equal chances for the state lookup to be near the end rather than near the front.

Regards

Antoine.



More information about the Python-Dev mailing list