Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: "unintended features" very funny ;-) NT

Author: Dieter Buerssner

Date: 14:04:44 08/19/03

Go up one level in this thread


On August 19, 2003 at 16:52:43, Sune Fischer wrote:

>If you swear this is faster, I will take your word for it, but off hand I don't
>see why it should be the case.
>You still need to plow through every single hash entry, with latency and all
>that comes with it. Streaming is faster than random access, but why is clearing
>one bit faster than memsetting the whole thing?
>Clearing one bit is actually more complicated, requiring loops (with
>conditionals) and logic, unless of course you have very big entries.

First I thought: don't clear the bits. With every new search, toggle the
"current_age_bit". Add little logic to Probe/Store functions (it should not
decrease efficiency much, because we need a slow memory look-up anyway), that
just assumes the entry is empty, when the bit does not fit.

But at second thought, this would not really help. Because the new search might
not touch one entry, and the second new search would assume, that the entry is
current. So, there is again an influence of the history of the game due to TTs,
something that Johan wanted to avoid from the start.

Another approach would be, to have the age bits in one seperate small table.
Assuming you have 64 Mb hash, with 16 bytes each entry, this would be 4 million
bits, or 1/2 Mb of RAM. Something that probably would stay in second level cache
most of the time on a modern computer. Clearing would use practically no time,
but accessing the second table would mean some overhead.

Regards,
Dieter



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.