Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Full circle

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.