Ubuntu: 32-bit v. 64-bit Performance
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.
|Processor:||AMD Athlon 64 X2 4200+|
|Motherboard:||Abit KN9 Ultra|
|Memory:||2 x 1GB OCZ DDR2-800|
|Graphics Card:||ATI Radeon X300SE|
|Hard Drives:||Seagate 160GB SATA2|
|Optical Drives:||Lite-On 16x DVD-ROM|
|Power Supply:||SilverStone Zeus ST75ZF 750W|
|Operating System:||Ubuntu Edgy Eft 6.10 (i386 & x86_64)
Ubuntu Feisty Fawn 7.04 Herd 1 (i386 & x86_64)
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.