[Python-Dev] Alignment assumptions (original) (raw)
Guido van Rossum guido@python.org
Thu, 28 Feb 2002 09:03:51 -0500
- Previous message: [Python-Dev] Alignment assumptions
- Next message: [Python-Dev] Alignment assumptions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
This is in
#ifdef USECACHEALIGNED long aligner; #endif and AFAIK nobody ever defines the symbol. It's a cache-line optimization gimmick, but is effectively a nop (except to waste memory) on "almost all" machines. IIRC, the author never measured any improvement by using it (not surprising, since I believe almost all mallocs at least 8-byte align now). I vote we delete it.
The malloc 8-byte align argument doesn't apply, since this struct is used in an array. Since the struct itself doesn't require alignment beyond 4 bytes, the array entries can be 12 bytes apart. So I don't think this is a nop -- I think it would waste 4 bytes per hash table entry on most machines.
This was added by Jack Jansen ages ago -- I think he did measure a speedup on an old Mac compiler, or he wouldn't have added it, and I bet there was a #define USE_CACHE_ALIGNED in his config.h then.
But that's all history; I agree it should be deleted.
--Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] Alignment assumptions
- Next message: [Python-Dev] Alignment assumptions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]