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.