Don wrote:bob wrote:
What is that based on? We had dozens of bitboard programs prior to Rybka. I do not know of any after Rybka that were not there before it was modified to use bitboards... There is a limit to how much credit one can give to Rybka. It's certainly strong. It was not the "final coronation" for bitboard programs. It came to that party _way_ late.
I'm not sure if this is based on my comment that bitboards was a fad started by Rybka or not - but in either case I want to clarify the issue as I see it as the only thing worth commenting on in this thread - of which everything has been rehashed to death.
I agree with Bob that bitboard programs have been around a very long time. I was using them myself way before Rybka came out and Crafty always used them.
But that was not my point and I want that to be understood. Whether it was the right way to do it or not, what made it extremely popular was the fact that this new "rock star" Rybka was doing it. Personally I believe it's the best way to write a 64 bit program but that is not what made it so very popular.
Crafty also was doing it but until fairly recently almost all the top programs for 32 bit computers were 32 bit programs. That certainly did not sell anyone on the idea that 64 bit was the best way to write a program for a 32 bit machine.
Personally, I don't believe it is. I cannot prove that or back it up in any way but I would like to add that neither can you.
Except that I ran, quite successfully, on 32 bit hardware until 64 bit stuff came along. Won a couple of CCT online events using 32 bit hardware with bitboard Crafty. So it was definitely competitive. I even won one on my old sucky pentium 4 dual-cpu box, probably one of the worst things ever to come out of Intel.
Bitboards are not a losing proposition on 32 bit hardware. Again, we can compare move generation speed, evaluation speed, etc. Doesn't matter to me. I did the comparisons in 1994 and found that bitboards were faster. Slate, without even rotated bitboards, decided they were faster too, on non-64 bit hardware.
This "they are not efficient on 32 bit hardware" is an old urban legend created by who knows. But it is just legend, and not fact. Or else I was quite lucky in some of my 32 bit competitions.... Probably would have been bad on an older 486 box with no super-scalar and no cache to speak of. But once we got the super-scalar Pentium, the extra instructions became moot and kept the second pipe busier than a normal program could to hide the overhead. The overhead then disappeared completely when we got 64 bits, but with the loss of the extra instructions, the 64 bit gains were not always as high as expected since there were fewer instructions to execute in parallel.