Author: Sune Fischer
Date: 06:51:04 10/30/01
Go up one level in this thread
On October 30, 2001 at 09:21:49, Gerd Isenberg wrote: >May be you win performance if rank and file of a rook are not occupied or only >occupied by one other man (sliding or noot). But if there are more than one man >on rooks rank or file, the loop becomes very ineffective. The straight foreward >way with four incremental updated occupied bitboards and two 64 Bit reads for >the rook is quite cheap and in average the fastest way without any conditional >jump. Yes _on average_ that is the faster, but with few man positions there might be something faster. Also if you have a hash hit, then the pre-calculation of all 4 occupied boards have been wasted (that is if you have done these). So if you have a hash hit 66% of the time, it's actually 24 operations "per move", unless you fix that in the algorithm somehow. A pre-calculation with 1 occupied bitmap would only need 6 operations. Ok, I know you guys probably solved these problems long time ago, but I haven't seen it written down anywhere. >For the four preprocessed xxx_attacks[square][status] arrays it's not necessary >to use all 8 squares on xxx for occupied status, the inner six squares are >enough - so use xxx_attacks[64][64] instead of xxx_attacks[64][256]. Ah yes, brilliant - should be more cache efficient I guess :) >Gerd -S.
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.