Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: The need to unmake move

Author: Omid David Tabibi

Date: 02:28:59 08/20/03

Go up one level in this thread


On August 19, 2003 at 22:11:14, Robert Hyatt wrote:

>On August 19, 2003 at 20:06:58, Mathieu Pagé wrote:
>
>>Hi,
>>
>>The fact:
>>
>>I have this question i read at some place that it is faster to unmake a move
>>than to save the state of the game before moving then restoring it when we want
>>to unmake the move.
>>
>>For the moment my engines did not implement unmake() (it is still buggy).
>>
>>My thougth:
>>
>>Since bitboard computation are slow (on 32 hardware) i think that it can be
>>slower to unmake the move than to save the state. I friend of me that is lot
>>better than me at optimizing code also think that.
>>
>>My questions:
>>
>>Are you all using unmake() function or there is some of you that found that
>>saving the state is better ?
>
>
>
>read the comments from Crafty in main.c.  I started out using what is
>commonly called "copy/make" as that worked well in Cray Blitz.  But it
>didn't work well in the PC.  The PC has very limited memory bandwidth,
>when you compare the speed of memory to the speed/demands of current
>processors.  If you keep the board in cache, and update it there, it is
>more efficient than to copy it from real memory to real memory...
>
>>
>>In the case that unmake is better. by wich factor ?
>
>
>
>For me, just faster.  Not 300% or any such number, but at least 25% if
>not more.
>
>

Up until now almost all my data was global, updated in make_move and takeback.
However, the more data structures I add, the more costly takeback becomes. Now
I'm trying to dynamically update my attack tables in make_move, which is a very
costly operation. Even though the attack tablea are about 256 bytes, I think
copying them will be far cheaper than resotorig in take_back.

So, it seems that one should experiment with each piece of data to find out
whether resotring in takeback is cheaper than copying the structure.


>
>
>>
>>Thanks for your help.
>>
>>Mathieu Pagé



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