Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Speedups for BitBoard programs on 64-bit machines

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.