Compiling Benchmarks

We get a lot of requests to show some compiling benchmarks. Those playing Gentoo at home should be paying particular attention to this portion of the benchmark. We took the standard Linux 2.6.4 release from kernel.org and compiled it under our 32-bit test bed. We did not cross-platform compile for simplicity, so we are only looking at the 32-bit vanilla kernel. We used the commands as below.
# yes "" | make config
# time make

32-bit Linux 2.6.4 Kernel Compile

We are greeted with a nice slow performance curve. We have the slower 3.4GHz P4EE overtake its faster 90nm counterpart on several occasions now - a definite trend has set in. Below, you can see how the Intel processors favored when we enabled HyperThreading.

HyperThreading: 32-bit Linux 2.6.4 Kernel Compile

Keep in mind make is not actually threading, we are just determining what kind of a performance hit occurs by enabling the two virtual processors rather than keeping just one active. Obviously running two applications at once will receive performance benefits. The unfortunate fact remains that workstation software continues to remain largely linear. We receive some benfiit by running multiple applications at the same time, like rendering a file and playing an MP3, but there are very few Linux workstation programs that fully utilize multiple threads. Fortunately, we have an article coming up that deals with just how to receive the best performance out of multiple threads (and HyperThreading/SMP configurations) in the works.

We two additional tests with the Prescott processors calculating the time to make the kernel while forcing make to run parallel jobs.

HyperThreading: 32-bit Linux 2.6.4 Kernel Compile


HyperThreading: 32-bit Linux 2.6.4 Kernel Compile


It is very easy to use make -j* incorrectly. There are small perecentage gains by using make -j3 over make -j2 using HyperThreading.
Chess Benchmarks Synthetic Benchmarks
Comments Locked

33 Comments

View All Comments

  • Cheval - Monday, September 20, 2004 - link

    Using Firefox 1.0PR and those graphs don't work either.
  • jensend - Monday, September 20, 2004 - link

    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.
  • RyanHirst - Monday, September 20, 2004 - link

    o, i c.
    k.
    ryan
  • LittleKing - Monday, September 20, 2004 - link

    The article is good, but the Rollover images don't work in FireFox 9.2.
  • KristopherKubicki - Monday, September 20, 2004 - link

    I had trouble compiling crafty. The numbers were more to show the impact of compiler options rather than actual chess numbers themselves.

    Kristopher
  • RyanHirst - Monday, September 20, 2004 - link

    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.

    Cheers,
    Ryan
  • KristopherKubicki - Monday, September 20, 2004 - link

    johnsonx: sorry about that- i put in the 530 score for the 3500+. The correct score is 175.

    Kristopher
  • johnsonx - Monday, September 20, 2004 - link

    Good article Kris.

    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.
  • WooDaddy - Monday, September 20, 2004 - link

    "whenever I get cornered by a processor on campus or guest speak at a Linux Users Group"

    OH NO!!!! ROGUE PROCESSORS ARE ATTACKING PEOPLE ON COLLEGE CAMPUSES!!!! LOCK YOUR DOORS!! GRAB YOUR SHOTGUN!!

    heheheh

    Kris.. I think you meant professors ;)

    I'd still lock your doors and grab weapons of minimal destruction. Professors are scary. Especially the fat ones with suspenders who talk about overclocking their PDP-11s.
  • Illissius - Monday, September 20, 2004 - link

    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.

Log in

Don't have an account? Sign up now