Author: Andrew Dados
Date: 16:37:14 06/19/00
Go up one level in this thread
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% :) 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.