Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Two (beginner) hash questions

Author: Dan Newman

Date: 03:49:46 01/08/01

Go up one level in this thread


On January 08, 2001 at 04:07:56, Jouni Uski wrote:

>1. I see in Crafty source code, that it has 16 bytes hash key. So 100MB hash
>table contains 6 250 000 entries. If Crafty's node speed is 200K this means,
>that hash table is enough for only 30s of counting. Correct? Probably not.
>But how can we aproximate time for this 100MB hash to fill?
>

Crafty only puts data from positions in the "full-width" part of the search
into the hash table, so the rate (usually) will be somewhat lower than
the 200k/s which includes the quiescence search nodes as well.

Also, it will begin overwriting hash table entries long before it is entirely
filled, and some of the overwriting is for the same position but with better
(deeper search) data.

So whatever effect the filling of the hash table has is something that doesn't
hit all-at-once, but will gradually increase as it fills up.

It could (theoretically) take a very long time to completely fill up since
the entries are used in a random fashion.  There might be a few entries that
haven't been used after many minutes.

>2. When we have 6 250 000 entries in hash, isn't it taking very long time to
>find if position is there?!
>

The hash table is implemented as a huge array which is indexed by using a
portion of a position's hash code, so the time taken to find an entry is
more or less a constant, independent of the hash table size.

-Dan.

>thanks Jouni



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.