Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Rough comparison between rotated bitboards and 0x88

Author: James Robertson

Date: 16:57:19 06/19/00

Go up one level in this thread


On June 19, 2000 at 19:37:14, Andrew Dados wrote:

>On June 19, 2000 at 19:03:34, James Robertson wrote:
>
>>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
>
>Even worse news: When I went down to asm as you did for bitboards, I was able to
>speed up capture detection for 0x88 by some 66% :)

This is amazing.... did you improve the algorithm, or just are you 66% smarter
than the compiler? If you say the latter, expect to have many people asking you
to make sure optimizations are on when you recompile the C++ version. :)

James

>
>However I wouldn't bother rewriting everything since it works nicely...
>
>cheers -
>-Andrew-



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.