Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Full circle

Author: Robert Hyatt

Date: 20:46:43 09/01/03

Go up one level in this thread


On August 29, 2003 at 19:45:33, Vincent Diepeveen wrote:

>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


What is _really_ bad is how "great" you do against this "hell slow" program.

That ought to get you to thinking...

Or not...



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.