[Python-Dev] String hash function multiplier (original) (raw)
Jeff Epler jepler at unpythonic.net
Tue Apr 13 21:09:54 EDT 2004
- Previous message: [Python-Dev] String hash function multiplier
- Next message: [Python-Dev] String hash function multiplier
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
With -O2 -mcpu=i686 or newer, gcc uses "imul" for both 100003 and 65599, rather than shifts and adds.
There may be a few people who care about some other processor, but I wouldn't listen to them. (the only non-x86 CPU I program for on a weekly basis doesn't have hardware multiply, but it's also much too small for Python)
The current value goes back a long way: http://cvs.sourceforge.net/viewcvs.py/python/python/dist/src/Objects/stringobject.c#rev2.31 ... all the way back to when Python did string haching instead of hashing.
Other than some abstract beauty to 65599, are there some other practical advantages I'm missing?
Jeff
- Previous message: [Python-Dev] String hash function multiplier
- Next message: [Python-Dev] String hash function multiplier
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]