Chess Benchmarks

Although TSCP is neither a model of practical application nor synthetic benchmark, it does provide us with some valuable data for different breakdowns of compiler flags. As we have mentioned in past Linux analyses, compiler flags can show large differences between processors if they are used incorrectly. Below, you can see the 32-bit and 64-bit binaries as they are compiled via GCC 3.4.1.

Hold your mouse over for the 64-bit graph.

The difference in optimizations does not appear as dramatic with GCC 3.4.1. If you recall some of our previous benchmarks, we were getting differences as much as 20% with -O2 and -O3. The Extreme Edition processor really pulls ahead in this benchmark, which surprised us at first; we don't see the FX-53 performing better over the Athlon 64's with its additional L2 cache.

33 Comments

Were any of the 32-bit binaries (incl kernel) conducted with -mregparm=x where x!=0? See e.g. http://lwn.net/Articles/66965/ - improvements in the use of registers are generally the main source of performance improvements for x86-64, and using this parameter can significantly improve gcc's register usage on regular x86. Generally, mregparm=3 is recommended for the kernel and =1 for C++ code.Reply

Hello,
Liked the article! I was disappointed to see you stuck with the only chess engine on the planet that is faster on a 3.6GHz P4 than a 2.4GHz A64. The Crafty benches looked odd, but they were more realistic. Even with HT optimized engines like Frtiz8 (which has competed internationally for as much as $1 million on Xeon machines, including one 4-way Xeon "donation" from Intel) pull almost identical numbers between the top a64 and the top p4.
If, as I assume, you left HT off [which you should for benchmarks. there are some odd issues with HT and chess], there just isn't a chess program around (except apparently TSCP) that pulls these numbers.
I know there is a risk of sounding fanboyish. That is not my intent. I play in the computer engine room on playchess.com, and I know the numbers I get from other machines. The benchmark you are using is simply not representative of chess engines. Please take a look at Frtiz benchmarks at: www.beepworld.de/members39/computerschach2/chessmarks.htm [disregard the top dual xeon score; "Deep Fritz 8" calculates many more nodes/s than regular "Fritz8", even on a single processor]. Again, this is an engine that is optimized for the Pentium architecture.
Less dedicated engines like Crafty show the results that, unfortunately, you found questionable in the previous article. Bob Hyatt has been programming chess for decades and Crafty is available on every major desktop OS. It's part of the SPEC2000 benchmark [where it performs identically on a lowly XP3200 and a Xeon 3.4]. It is also the first engine out the door with a 64-bit clean code! In one of the few fields where 64-bit computing can offer a near perfect doubling of calculations/s, why leave out the 64-bit bench? If you're concerend Crafty is Athlon optimized, check out Hyatt's homepage: www.cis.uab.edu/info/faculty/hyatt/hyatt.html ...his ICC account pet machine is a dual Xeon.

I think you've got a graph error on the 32-bit MEncoder graph. You show the P4 530 and the A64 3500+ tied at 146fps, but then show the A64 3800+ at 193fps; that's a 32% higher score for a CPU that is only 9% higher-clocked and otherwise identical. Methinks the 146fps for the A64 3500+ is an error; it should be somewhere between 165 & 175, right around the P4EE.
Reply

Nice review, and you actually compared 32- and 64-bit for once ;). Would've been more interesting to do it back when you had some 64-bit Intel processors in the mix as well, though...
Why no 64-bit results on the kernel compile? :/ That's probably the single benchmark out of all of them I'd be most interested in (Gentoo :D).
Also, UT2004 has both 32- and 64-bit Linux versions, and nVidia has both 32- and 64-bit Linux drivers. Seeing as this was a desktop review, that would've been nice to see.

I'd personally have been more interested in s754 processors, but they're the same architecture anyways so I can mostly extrapolate their performance from the ones tested, so it isn't a big deal either way.Reply