Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Precomputed move information

Author: Sune Fischer

Date: 09:14:02 07/02/02

Go up one level in this thread


On July 02, 2002 at 11:41:36, Robert Hyatt wrote:

>Actually the current version doesn't quite do that any longer.  It "ors"
>the from/to squares (rotated) together and then XORs that result with the
>appropriate rotated board.  Saves a couple of operations...

Where can I find this code?
What I copied was from 18.15 in make.c from the MakeMove().

>> Same procedure goes for
>>the HashKey (which BTW need 4 lookups if you capture a piece or castle), so its
>>really 5 variables that benefit, if you add a piecesquare its 6 variable updates
>>that have become 2-3 times faster, not bad - but 14 megs!?
>>
>>-S.
>
>The thing I found was that the cache issue was _the_ problem, along with
>the small memory pipe on the PCs...  That is why I went to the scheme I now
>use, to avoid the memory references when possible so that cache doesn't get
>destroyed so badly...

Okay, so wouldn't you agree, that 1 memory reference to a large table should be
faster than 10 references to 4 minor tables (not even counting a piece square
table), unless you somehow know that the small tables are in the cache?

It's not "just" fewer operations, it's also fewer references :)

-S.



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.