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. > >Uri 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 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.