Computer Chess Club Archives


Search

Terms

Messages

Subject: Rough comparison between rotated bitboards and 0x88

Author: James Robertson

Date: 16:03:34 06/19/00


Abstract: For the last several days, I have been frantically trying to prove
that my beloved rotated bitboards I spent two years on are as fast as the 0x88
code I threw together in about an hour.

Conclusion: life is not fair.

Materials & Methods: I managed to speed up my bitboard move generation by 50%
and bring it almost to the speed 0x88 move generation provides. In most
positions my rotated bitboards are less than 10-20% slower than the 0x88 code. I
could live with that, as potential speedups in well written code elsewhere and
the hope of 64-bit processors that all us bitboard guys look forward to would be
sufficient compensation. However, the story seems to get worse. Not
surprisingly, making/unmaking moves is hopelessly slower than in 0x88 (only
divine replanning of the universe will change that), but even functions such as
check detection become slower than 0x88 as the pieces come off.

Rotated bitboards do have several saving graces, not the least of which is
capture generation. For instance, in the position 4k3/8/8/8/8/8/8/RNBQKBNR - -
rotated bitboards are almost 500% faster! Even in less extreme positions, they
still hold a healthy edge. Certain aspects of a scoring function are also
greatly increased in speed. Mobility scoring can be much faster, but when it
reaches the complexity of what I am writing for Insomniac 0x88 may catch up or
even surpass the capability of rotated bitboards.

My actual conclusions are... I don't really know. I will have to rewrite
Insomniac from the ground up, as the new and improved bitboard code I wrote for
the "speed race" will be almost impossible to move into the old version. So....
I have a choice now between 0x88 and rotated bitboards, and am hoping maybe some
of you could give me advice. Is there anyone else who has worked extensively
with both systems? Anyone who has done more quantitative comparisons? On the
side of 0x88 seems to be speed and simple code, but I am emotionally attached to
rotated bitboards and the hope of increased speed on 64-bit processors is
tantalizing.

Thanks for any help.
James



This page took 0.03 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.