Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: to rotate or not?

Author: Dan Newman

Date: 02:27:16 04/25/00

Go up one level in this thread


On April 25, 2000 at 01:20:11, Bas Hamstra wrote:

>I have some evidence that an unrotated bb approach can be as fast or faster than
>a rotated one.
>
>- my fastest ever version did it unrotated. I thereafter thought rotated would
>be even faster, but never got that speed again. (until hopefully now)
>
>- Dan Newman reaches almost 600k nps with little eval on a PIII/500, unrotated.
>While I thought the limit (based on what I see around) for rotated on this
>hardware is about 500k doing only material!
>


I'm down to 480 knps now :)


>- On this board I saw someone gen moves pretty fast unrotated.
>
>Pro unrotated:
>
>- you can gen moves in LVA/MVV order right away. You can not do that while
>rotating, at least not the way Crafty does it. Saves a sort afterwards. Don't
>know how big a factor this is.
>
>- You don't need the expensive 64 bit shifts doing movegeneration (and eval),
>which saves a lot of overhead.
>
>- Your make() is much faster without the 4 Occupied maps.
>
>Contra:
>
>- You have to scan for blocks, while rotated doesn't need to. However using a
>int__64 blockmask[From][To] can do this pretty quick (though some say scanning
>the board is even faster).
>


I've changed my mind on this one.  Lately I've found the blockmask's to be
faster than scanning--sometimes I do have to scan though...


>The big question is: is the extra overhead of rotated bb's justifyable? Could it
>be non-rotated is faster overall?
>


I think this is really difficult to figure out.  If you work a long time on
one scheme, you might well find it faster than another that you spent a
shorter time on.  It could be you just overlooked something, some trick that
really would have sped it up.  But my gut feeling is that non-rotated is
a bit faster (given equal programming effort) on the latest Intel machines.
(OTOH, it could be I'm just avoiding all that work implementing rotated
bitboards. :))

-Dan.

>(Currently I myself have started all over trying to make a really fast rotated
>BB program. Looks promising so far: make/unmake=2M/sec and movegeneration=12M
>moves/sec on a Celeron 466)



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.