Linked by Thom Holwerda on Fri 29th Dec 2006 21:18 UTC, submitted by Michael Larabel
Ubuntu, Kubuntu, Xubuntu "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 the 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."
Thread beginning with comment 197151
To read all comments associated with this story, please click here.
RE: Performance Tradeoffs
by Tim Locke on Fri 29th Dec 2006 23:51 UTC
Tim Locke
Member since:
2006-03-23

"1. Words become twice as large. When you have to swap registers around, you have to move twice as much data. This makes the system slow down."

The words are twice as wide but so are the data paths.

Net result is no difference.

Reply Score: 4

RE[2]: Performance Tradeoffs
by nathanw on Fri 29th Dec 2006 23:57 in reply to "RE: Performance Tradeoffs"
nathanw Member since:
2006-11-05

Well, it does if you have to save them to main memory (context switches, for instance). Inside the CPU, as you say, it makes no difference.

I should also have noted in my original post that 64 bit architectures vastly speed up computational work involving 64-bit integerss or very precise floating point values. This is really noticeable in scientific applications (physics simulations for instance).

Reply Parent Score: 3

RE[3]: Performance Tradeoffs
by evangs on Sat 30th Dec 2006 18:30 in reply to "RE[2]: Performance Tradeoffs"
evangs Member since:
2005-07-07

There should be no impact on floating point operations, since the x86 FPU registers are 80 bits wide and is capable of handling the common 64 bit double precision floating point with ease (with the additional 16 bits for overflow). This is why you rarely see any improvement in FP heavy code when moving from x86 - x86-64.

The move from 32 bit to 64 bit doesn't affect floating point.

Reply Parent Score: 2

RE[2]: Performance Tradeoffs
by binarycrusader on Sat 30th Dec 2006 00:32 in reply to "RE: Performance Tradeoffs"
binarycrusader Member since:
2005-07-06

Net result is no difference.

Not quite true. 64-bit programs use more memory than 32-bit ones. As such, less memory is available for the system to use, more bandwidth is used shuttling the program around in memory, and since less memory is available, less things can be cached, etc.

Reply Parent Score: 3

RE[3]: Performance Tradeoffs
by raster on Sun 31st Dec 2006 02:45 in reply to "RE: Performance Tradeoffs"
raster Member since:
2005-07-07

Actually x86 chips have used larger datapaths under the hood for years. They will write/read combine multiple 32bit accesses together into larger chunks (e.g. 64bit) - so it's moot. The first post is right - on one hand you get more registers, on the other you need to throw more memory around if it contains pointers of any sort.

Reply Parent Score: 1