Author: Ed Trice
Date: 14:55:05 12/31/03
Go up one level in this thread
On December 31, 2003 at 14:17:48, Russell Reagan wrote: > >The problem here is that you can test that exact same thing in Crafty (and other >programs), and they don't come anywhere close to your numbers. Crafty generates >22 million moves per second on my Athlon 2GHz, while you generate 140 million >per second on a PIII 2GHz (which I've never heard of, but whatever). I have one of the last Pentium III's ever cranked off of the line. The early P4 architecture added 124 instructions for streaming video to the chipset, which clobbered the performance of even integer math. The new 20 stage pipeline of the P4 with a branch prediction unit that was not that good mean the entire pipeline might need to be flushed if there was a prediction miss at step 19! For this reason, slower P III's were outperforming the (at the time) relatively new P4's. The test I did was as follows: 1. Clear the board. 2. Loop from a1 to j8 (80 square board.) 3. Place a knight on the square from #2. 4. Call the move generator N times (N large)and increment the nodes. 5. Place a bishop on the square from #2. 6. Call the move generator N times (N large) and increment the nodes. 7. Place a rook on the square from #2. 8. Call the move generator N times (N large)and increment the nodes. 9. Place a chancellor on the square from #2. 10. Call the move generator N times (N large)and increment the nodes. 11. Place an archbishop on the square from #2. 12. Call the move generator N times (N large)and increment the nodes. 13. stop the timer 14. compute nodes/time taken. Basically, all of the moves are precomputed indices into 80 bit attack arrays. These are generated as fast as you can lookup data in a list. Given that was the case, I wanted to know how fast the lookup speeds were. That number ended up being 140 million nodes per second on my test system. Didn't I even email you the executeable? Even Yace >(an array based program, AFAIK) gets *only* 46 million moves per second on my >machine. Your numbers even blow away Crafty's numbers from a quad Opteron, which >generates 38 million moves per second. > >Since you are using 80-bit bitboards, your numbers should be slower than Crafty >using 64-bit bitboards, and certainly slower than an array based move generator. >Something doesn't add up. That seems to be very common with things you write. >You seem to be mainly interested in self promotion and appearing to know what >you're talking about regardless of what is fact and what is fiction. I agree that something does not add up, but why do you run to the extreme end of throwing out personal attacks? If something does not add up, why not try to understand what is different in our metrics. I demonstrated what I was testing, explained it fully, sent you the test program (I think it was you) and never heard back from you. Where is this anger coming from? >Take your webpage here for example: >http://www.gothicchess.org/gothic_vortex.html > >You write: > >"On the minus side, an Array Move Generator is many times slower than a Bitboard >Move Generator. A recent experiment showed that the Bitboard Move Generator in >the Gothic Vortex program is about 30 times as fast as the Array Move Generator >found in the Zillions-Of-Games engine." > This is easy to reproduce, and it is not fiction. The Zillions program displays its node count. Given Y different positions from different Gothic Chess openings, and Z amount of time per position, you get a node/second average. As Zillions is the only other engine that plays Gothic Chess, what else could I compare my own numbers with? When I took my nodes/second average and compared it to Zillions, the division produced a number 30 point something. That means that Gothic Vortex is 30 times as fast. >I'm pretty sure every experienced computer chess programmer would disagree that >array based move generators are many times slower than a bitboard move >generator, especially on 32-bit hardware. > >You frequently compare your program with Zillions of Games, and then declare >your program to be a monster because it beats it 3-0, or runs 30 times faster, >or whatever. This is nothing but a straw man. Zillions of Games is not optimized >for any game. It is a general game playing program that will play any game that >you "teach" it to play. We could all make wild claims if we found the slowest >program on earth and made all of our claims based upon a comparison between the >two. Again, I am not sure why you use the language you do. Instead of hurling insults, why not simply write a Gothic Chess program? Why not create an array based move generator that we can test? > >So like I said, something doesn't add up. Either you're making up numbers, or >you have some secret that is allowing you to blow away every other PC program on >earth, or there is something else you're leaving out. I think this point has been touched upon already. If you can construct some suite of tests, I would welcome the chance to compare data. By the way, on the latest Archbishop endgame I tested, Gothic Vortex averages 560,235 positions per second when it solves a mate in 16. Would you be interested in writing just a simple Archbishop and King move generator for an 80 square board, then we can time each other's solutions for positions we construct for these endgames?
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.