Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Why have a UnMakeMove or UndoMove function (not as stupid as it sounds)?

Author: Andrew Dados

Date: 10:40:59 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

Once your program reaches decent depth you'll find out that 376 extra bytes per
depth will eventually blow up cache and slow things down. Probably somewhere
around 10-12th ply.

-Andrew-



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.