Author: Uri Blass
Date: 09:29:13 02/24/03
Go up one level in this thread
On February 24, 2003 at 11:57:28, Albert Bertilsson wrote: >>You aren't done yet. You have to update hash and pawn hash signatures, and >>probably other >>things. The more you add, the more you copy. You will probably reach a point >>where it >>is less efficient. >> >>I certainly did copy/make in early crafty versions, but removed it for the speed >>gains that >>make/unmake gave me. > >Hmm... I have the hash key for the position, no pawn hash though... >These keys are really a pester (speedwise) to update but really small to copy >(just 8 bytes) I just can imagine any UndoMove doing this faster than a copy. >The minimum for each move to update such a key is three 64bit XORS (from, to, >and side to move), and the mean value is some higher because of captures etc. > >Currently Sharper uses Do/Undo move with arrays for storing for example hash >keys as speed up, but with this test I noticed that copying all of the board is >even faster. > >But even when I add more is there any specific information that is easy to >update but requires much space? Is my board size very small 376 bytes (making >copy ok for now)? > >I don't have Attack boards yet, are they large but easy to unmake? > >Regards Albert I have 64*16 array of int and another 64 array of int for my attack information. My first move generator was very slow because of that reason because in my make move I calculated them from scratch at everyone of the 1024+64 places(It is possible that I had even to do it in more places because my data structure was worse. I did more and more incremental update and now I have only one array that is not updated incrementally and it is the pin array (char[64]). Uri
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.