Computer Chess Club Archives




Subject: Re: Differences between 0x88 ,10x12 and Bitboards!?

Author: Robert Hyatt

Date: 13:12:16 11/19/02

Go up one level in this thread

On November 19, 2002 at 15:57:27, Uri Blass wrote:

>On November 19, 2002 at 15:12:15, Russell Reagan wrote:
>>On November 19, 2002 at 13:57:02, Vincent Diepeveen wrote:
>>>Yet a crucial aspect of evaluating is scanning and that's something
>>>where bitboards are handicapped with 1 or 2 exceptions (you can
>>>quickly scan a rank or file for presence of a piece X).
>>In an 0x88 engine, you have to do potentially 8 tests to scan for the presence
>>of a piece on a rank or file. Even if you are lucky enough to have zero branch
>>mispredictions (doubtful), you still do 4 increments, and 4 tests on average.
>I do not think that you have to do it.
>You can remember in a special array the pieces that are in every rank and every
>file and increment these arrays after every move that you make.
>If you need to check often that quastion then the best thing is to remember the
>information in special arrays and to update the arrays incrementally  every time
>that you make a move.

Then you have to check those arrays.  that's not free either...  I'll trade a
branch misprediction
for a memory reference _any_ day as the branch prediction penalty is way less...

This page took 0.02 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.