I bought a new computer this summer, and it was my first computer with a 64-bit processor. I got a great deal on it. The system came with an Athlon 64 3200+ (socket 754), 256MB DDR 400, 160GB SATA hard drive, and was running Windows XP Home. I really wasn't interested in keeping WinXP Home on the system, because I wanted to take advantage of the 64-bit processor in a 64-bit OS. I also didn't feel like spending another $90 to upgrade Windows XP to the x86-64 edition.
But before I set the system up for it's daily desktop duties, I figured it would be best to benchmark the system in a variety of configurations, and share the results with everyone. Here are the main configurations I'm going for:
System | Operating System | Processor | RAM | Video Card |
Windows (Barebones) | WinXP Home | Athlon 64 3200+ | 256MB DDR400 | Onboard SiS GPU |
Windows (Upgraded) | WinXP Home | Athlon 64 3200+ | 1024MB DDR400 | GeForce FX5200 128MB |
Linux 32-bit | Fedora Core 4 (x86) | Athlon 64 3200+ | 1024MB DDR400 | GeForce FX5200 128MB |
Linux 64-bit | Fedora Core 4 (x86_64) | Athlon 64 3200+ | 1024MB DDR400 | GeForce FX5200 128MB |
I conducted the tests in the following manner. I bought a Compaq Presario SR1010Z from CompUSA, and the configuration it was purchased in was with 256MB RAM, and onboard video. It was preloaded with Windows XP Home. All the tests were run on the system in that state for the WinXP (Barebones) set of scores. The system was then upgraded to 1GB RAM and I added a GeForceFX 5200 (both of which were acquired from NewEgg.com). The benchmarks were all then run again and recorded as WinXP (Upgraded). These results can be compared with each other to determine how dramatic of an improvement can be gained from those simple upgrades.
I then installed Fedora Core 4 32-bit on the system, and ran into major problems when trying to install the latest NVidia drivers. With the NVidia drivers, the system would freeze trying to start X windows. I bought a new motherboard for the system (with a VIA chipset), and then tried the installation again, and everything worked fine this time. I don't believe the motherboard swap will make a significant difference in my testing. The benchmarks were all run again (duplicating the procedures for the Windows machines as closely as possible) on this configuration, and the results were recorded as Linux 32-bit.
Finally, the last setup was Fedora Core 4 64-bit. I did this one last because I wanted to use the system in this configuration after my testing was complete as my regular desktop system. The benchmarks were run the final times on the system in this configuration and the results were recorded as Linux 64-bit.
My testing process consisted of me running most benchmarks twice, and then averaging the results together. The exceptions were benchmarks that took a very long time to run (like DivX encoding), and those tests were only run once. The Windows benchmarks were run from Cygwin (except for the games which have built in benchmarking utilities).
Benchmark | 64-bit version | Execution method | Notes |
UT 2004 Demo 640x480 | Yes | Shell script | Difficulties getting the 64-bit version to work, may not actually be running the 64-bit code |
UT 2004 Demo 1280x1024 | Yes | Shell script | Difficulties getting the 64-bit version to work, may not actually be running the 64-bit code |
Quake 3 Demo 640x480 | No | Graphics set to normal. Resolution at 640x480. Open console, type in "timedemo 1" and then "demo demo001". | |
Quake 3 Demo 1280x1024 | No | Graphics set to High Quality. Resolution at 1280x1024. Open console, type in "timedemo 1" and then "demo demo001". | |
Lame MP3 encoding | Yes | lame -b 192 input.wav output.mp3 | Windows version used Lame that came with Cygwin. For both Linux systems, Lame was built from source. Source file was ripped from Motely Crue: Greatest Hits before the test. |
OGG encoding | Yes | oggenc input.wav -o output.ogg | Windows version used oggenc that came with Cygwin. For both Linux systems, OGG was built from source. Source file was ripped from Motley Crue: Greatest Hits before the test. |
DivX encoding | Yes | mencoder input.mpeg -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000 -o output.avi | Source files was MPEG-2 capture created by recording Top Gear with Beyond TV using Hauppauge PVR TV-Tuner card |
GZip compression | Yes | time tar -czvf compresssed.tar.gz input.wav | |
RAR compression | No | time ./rar a compressed.rar input.wav |
WinXP (Barebones) | 17.2 fps | |
WinXP (Upgraded) | 62.51 fps | |
Linux 32-bit | 72.4 fps | |
Linux 64-bit | 37.74 fps | |
Higher is better |
WinXP (Barebones) | 6.43 fps | |
WinXP (Upgraded) | 23.89 fps | |
Linux 32-bit | 36.58 fps | |
Linux 64-bit | 11.56 fps | |
Higher is better |
I had a difficult time getting UT 2004 to run on Fedora Core x86_64 edition, and I'm not even sure if it was it was in 32 or 64 bit mode. The 32-bit Linux version beat the windows version by a significant amount. Linux was 15% faster at 640x480, and 53% faster at 1280x1024.
WinXP (Barebones) | 73.75 fps | |
WinXP (Upgraded) | 255.55 fps | |
Linux 32-bit | 196.2 fps | |
Linux 64-bit | 203.85 fps | |
Higher is better |
WinXP (Barebones) | 21.3 fps | |
WinXP (Upgraded) | 71.9 fps | |
Linux 32-bit | 69.7 fps | |
Linux 64-bit | 66.00 fps | |
Higher is better |
Quake 3 is a 32-bit only game. WindowsXP beats the 32-bit Linux by 30% at the low resolution (high CPU load), but only by 3% at the higher resolution.
WinXP (Barebones) | 49.95 s | |
WinXP (Upgraded) | 46.41 s | |
Linux 32-bit | 54.71 s | |
Linux 64-bit | 57.82 s | |
Lower is better |
This is where the benchmarks get more interesting. Lame was compiled from source, so the 64-bit OS gets to use a 64-bit binary. Windows is the fastest, beating the 32-bit Linux binary by a healthy 18%, and the 64-bit binary is slower than the 32-bit version by an additional 6%.
WinXP (Barebones) | 61.39 s | |
WinXP (Upgraded) | 60.38 s | |
Linux 32-bit | 62.95 s | |
Linux 64-bit | 45.59 s | |
Lower is better |
Oggenc was another application built from source on the Linux machines. The difference between the Lame and Ogg benchmarks are substantial. Windows beats out the Linux 32-bit binary by a smaller margin that it did encoding MP3, by only 4%. The fastest way to encode this time around is with the 64-bit binary which is 32% faster than the Windows version, and 38% faster than the 32-bit Linux version.
WinXP (Barebones) | 911.2 s | |
WinXP (Upgraded) | 803.7 s | |
Linux 32-bit | 841.7 s | |
Linux 64-bit | 862.47 s | |
Lower is better |
Compressing an MPEG-2 video to DivX was fastest on the Windows machine, completing the task 5% faster than the 32-bit Linux machine. The 64-bit mencoder doesn't get any advantage in this benchmark, and the 64-bit binary finishes 2% slower than the 32-bit binary.
WinXP (Barebones) | 16.75 s | |
WinXP (Upgraded) | 12.98 s | |
Linux 32-bit | 14.91 s | |
Linux 64-bit | 13.21 s | |
Lower is better |
GZip (which is the last of my benchmarks that is compiled from source on Linux) also shows an improvement from the transition from 32-bit to 64-bit. The Windows version is still fastest, 15% faster than the 32-bit Linux version. The 64-bit Linux version is 13% faster than the 32-bit Linux version, but still trails behind the 32-bit Windows version.
WinXP (Barebones) | 44.49 s | |
WinXP (Upgraded) | 40.89 s | |
Linux 32-bit | 40.05 s | |
Linux 64-bit | 42.84 s | |
Lower is better |
WinRar is only available as a 32-bit binary, so the 32-bit version runs 7% faster than the 64-bit OS can run it. The Linux 32-bit version is slightly faster than the Windows version, compressing the file 2% faster.
When comparing Windows performance vs Linux performance, the results are pretty mixed, but overall tend to favor Windows. UT2004 and RAR compression being the only 2 benchmarks that favored Linux. For most tests, the performance was fairly close. The tests also show that all the benchmarks improved significantly when more RAM and an AGP video card was added to the system, but that is not really a surprise. Games benefited the most running 4x as fast.
The 32 vs 64 bit tests showed some more interesting results. I question the UT2004 results, and don't consider those results to be totally accurate. All applications that were 32-bit, ran slightly slower in the 64-bit OS, but the penalty wasn't significant. Performance was very close in all cases (ranging from 4-7%). Applications recompiled with 64-bit binaries sometimes produced significant gains. OGG vorbis encoding improved 38%, and GZip compression improved 13%.