Author: Dan Newman
Date: 04:15:59 01/31/01
Go up one level in this thread
On January 30, 2001 at 06:26:17, David Rasmussen wrote: >On January 29, 2001 at 23:32:01, Dan Newman wrote: > >> >>I think the extra speed I found the second time around was due to several >>factors: 1) I used the MSVC compiler (I had been using Watcom). MSVC >>seemed to "amplify" the difference. 2) I switched to non-rotated >>bitboards which are much lighter on the cache than rotated (I suspect). > >What do you mean bu non-rotated? How do you deal with bishops and queens, then? It just means I don't use rotated bitboards. I have a bitboard for each different piece type (12 bitboards) + occupied square bitboards for each color (2) + an occupied square bitboard (1). This means make() and undo() are a bit cheaper since I don't have to update rotated bitboards. Also, there are a few large data structures (arrays of bitboards) that aren't needed as well--so fewer memory hits. I treat the non-sliding pieces more or less like any other bitboard program, but for sliding pieces I occasionally resort to scanning the board. I guess it might be thought of as a sort of hybrid of bitboard and mailbox. I suspect (but don't have any hard data) that this is cheaper than doing rotated bitboards, and it's also much simpler to implement. OTOH, I think Bas (Hamstra) may have switched to rotated bitboards and found them to be faster... -Dan.
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.