While 64-bit support is now considered common for both Intel and AMD processors,
many Linux (as well as Windows) users are uncertain whether to use
a 32-bit or 64-bit operating system with there being advantages for both paths.
With this being the last Phoronix article for 2006, we decided to take this
opportunity to look at this common question of whether to use 32-bit or 64-bit software. In this
article, we will be comparing the i386 and x86_64 performance with Ubuntu 6.10
Edgy Eft and Ubuntu 7.04 Feisty Fawn Herd 1 to see how the numbers truly stack up.
One of the common (and leading) reasons for 64-bit processor owners continuing
to use 32-bit software is due to some software not being available for x86_64
Linux. The key package that keeps many Linux users to running i386 software is
for Macromedia Flash Player support (though 32-bit Firefox on 64-bit Linux fixes
that issue or using Gnash). Linux provides backward compatibility for running
32-bit executables and most open-source software can easily be compiled for x86_64.
Both i386 and x86_64 versions of Ubuntu 6.10 Edgy Eft and Ubuntu
7.04 Feisty Fawn Herd 1 were used for testing. An AMD Athlon 64 X2 processor was
selected for comparing the 32-bit and 64-bit performance of both Ubuntu Linux builds.
Below is a list of all the hardware used for testing as well as the major software
versions. The ATI Radeon X300SE was used with the open-source R300 Radeon drivers
and the options set were AccelMethod: XAA, AccelDFS: 1, GARTSize: 64, EnablePageFlip:
1, and ColorTiling: 1.
| AMD Athlon 64 X2 4200+ |
| Abit KN9 Ultra |
| 2 x 1GB OCZ DDR2-800 |
| ATI Radeon X300SE |
| Seagate 160GB SATA2 |
| Lite-On 16x DVD-ROM |
| OCZ Tempest |
| SilverStone Zeus ST75ZF 750W |
Ubuntu Edgy Eft 6.10 (i386 & x86_64) Ubuntu Feisty Fawn 7.04 Herd 1 (i386 & x86_64) |
2.6.17-10-generic 2.6.19-7-generic |
| 4.1.2 |
| 7.1.1 |
The benchmarks used for comparing 32-bit and 64-bit Linux was
Unreal Tournament 2004, Gzip compression, LAME compilation, LAME encoding, RAMspeed,
and kernel compilation. The kernel we had used for measuring the compilation time
was the 2.6.19 vanilla kernel. The remainder of the benchmarks were used using
our standard Phoronix benchmarking practices.