Author: Vincent Diepeveen
Date: 16:45:33 08/29/03
Go up one level in this thread
On August 29, 2003 at 18:26:46, Dave Gomboc wrote: >On August 29, 2003 at 08:53:50, Robert Hyatt wrote: > >>It isn't big enough to hold even the stuff I need to generate moves. I have >>multiple arrays of 64 X 256 X 8bytes, that I use repeatedly. One of those >>is enough to zap L1, although I don't need the entire table at one shot. But >>I do need parts of four of those, and that is just for starters... > >Well, it's either a software implementation issue or a software design issue, >then. Your call. :-) Blowing L1 cache just to generate moves seems >unreasonable. > >Dave Right all those bitboard nonsense. Just take my generator. 2 lookups to L2 cache *worst case* and all is in L1 cache, and that for each piece. Then each additional move generation eats 1 clock for generation and 1 clock for loop (depending upon processor). If loop ends it is possible that you might get a branch misprediction ONCE, but that's for each piece the case. Not for each move. My code is GENERAL. Like one general loop both for black and white and for Q,R,B and some other loop for King and Knight also both colors of course. Now compare that with the bad programming example in crafty. O yeah, it's hell slow too :) Best regards, Vincent
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.