Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash table question.

Author: Eric Oldre

Date: 15:13:02 06/20/04

Go up one level in this thread


On June 20, 2004 at 17:29:28, Mathieu Pagé wrote:

>Hi Eric,
>
>I don't know anything about fruit, but I think (from experience) that size will
>_always_ of the form:
>
>    size = 2^X
>
>This allow to have a fast KeyToIndex function that will use a binary operation
>and no division. Let's takle your own example, but instead of size = 33 let's
>take size = 32 that is 2^6
>
>you have size = 32 (or 100000b)
>
>so your mask is 32 - 1 = 31 (or 11111b)
>
>so when you do:
>
>     key & mask
>
>you always get something >= 0 and < 32
>
>So the key is to have a size that is a power of 2.
>
>You could also use any value for the size and take the remainder of the division
>as a index, but you will have to problem in this case:
>
>1) for some size you will get a non-uniform distribution of you entries
>2) a division is slower than a binary AND (That is in fact a modulo 2)
>
>hope it help.
>
>Mathieu P.

Mathieu,
thanks for your great explaination. it makes perfect sense now.  I knew that i
must be missing something, in this case, that size always is 2^x.



This page took 0 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.