[Python-Dev] Alignment assumptions

Jack Jansen Jack.Jansen@oratrix.com
2002年2月28日 22:34:05 +0100


On donderdag, februari 28, 2002, at 07:57 , Tim Peters wrote:
> [David Abrahams]
>> A quick grep-find through the Python-2.2 sources reveals the 
>> following:
>>>> Include/dictobject.h:49: long aligner;
>> This is in
>> #ifdef USE_CACHE_ALIGNED
> 	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.

MacPython uses it. At the time it was put in it caused a 15% 
increase in Pystones because dictionary entries were aligned in 
cache lines. But: this was in the PPC 601 and 604 era, I must 
say that I've never tested whether it made any difference on G3 
and G4.
Put in a bug report in my name, and one day I'll get around to 
testing whether it still makes a difference on current hardware 
and rip it out if it doesn't.
--
- Jack Jansen <Jack.Jansen@oratrix.com> 
http://www.cwi.nl/~jack -
- If I can't dance I don't want to be part of your revolution -- 
Emma Goldman -

AltStyle によって変換されたページ (->オリジナル) /