Author: Robert Hyatt
Date: 08:44:22 02/24/03
Go up one level in this thread
On February 24, 2003 at 11:41:03, Albert Bertilsson wrote: >Hello! > >I've done some testing and thinking and I ask the following question: >Why have an UnMakeMove or UndoMove function? > >When testing with Sharper I found that actually copying the board and then >calling DoMove on the new board was faster than using DoMove() / UndoMove() on >the same board. > >My Board size is 376 bytes, and I figure that will cause a copy function to >require some 94 copy instruction (on a 32 bit machine), this will of course also >require some sort of condition of when to stop copying and so, but I figure this >must be a much easier task than doing branches and testing if it was a capture >etc. and updating piece lists. > >Is this a unique case for me? Have anybody else tried it? What is your board >size in bytes? Maybe this only works for me because my board is small (although >I certainly don't think it is small). > >Regards Albert Bertilsson 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.
This page took 0.01 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.