Computer Chess Club Archives


Search

Terms

Messages

Subject: to rotate or not?

Author: Bas Hamstra

Date: 22:20:11 04/24/00


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!

- 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).

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

(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.02 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.