Author: Gerd Isenberg
Date: 01:14:41 06/05/02
Go up one level in this thread
IMHO a 33% speedup over nonbitboards is a lot, because also bitboard progams do also a considerable amount of time of their search, movegen and eval with none bitboard stuff. But we'll see, hammer is not so far away. In functions like getting all pieces controlling a square, i expect a speedup of more than 100% with hammer. BitBoard CNode::GetAttackedBy(unsigned int sq) const { return (RookAttacks(sq) & RookMover()) | (BishopAttacks(sq) & BishopMover()) | (BPawnAttacks(sq) & GetWPawnBB()) | (WPawnAttacks(sq) & GetBPawnBB()) | (KnightAttacks(sq) & GetKnightBB()) | (KingAttacks(sq) & GetKingBB()) ; } First the code length is about the half or less, because of only one mov-, and-, or-instruction per bitboard instead of two. Second, hammer has more general purpose registers than the anachronistic x86, so there is no need here to store temporary resulst in memory. The potential to use multiple integer pipes is nevertheless quite good here. Gerd
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.