Author: Robert Hyatt
Date: 07:48:25 02/19/02
Go up one level in this thread
On February 19, 2002 at 02:36:32, Bernhard Bauer wrote: >On February 18, 2002 at 22:52:35, Robert Hyatt wrote: > >>On February 18, 2002 at 15:43:09, Alvaro Jose Povoa Cardoso wrote: >> >>>My program uses hash tables witch are a power of two. >>>In order to compute the index to an hash table of this kind I simply do: >>> hashindex=(hashkey & hashsize) >>>in witch hashsize is a mask with for example the first 12 bits set for a size of >>>4096 entries. >>>I would like to know how to compute the index to a hash table that can have >>>sizes like 1MB, 7MB, 45MB, 49MB, 50MB, ..etc >>>Could someone please explain how to do this? >>> >>>Thank you, >>>Alvaro Cardoso >> >> >>index = signature % hash_size > >If it's so easy, wouldn't it be nice to do it that way in Crafty? >That way many users could use a bigger hash size. >Kind regards >Bernhard It can be a killer. For example, old SPARC machines do not _have_ an integer divide instruction. So it would kill performance. Many newer processors do the integer divide far slower than the AND I use now. I haven't tested the speed difference in a long time, but on the sparc where Crafty started, it was huge because every divide turned into a procedure call.
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.