Absolutely wrong. I wish ppl would stop spreading this nonsense. 64 bit is actually slower in practice, since addresses double in size. It also causes nearly double the memory consumption, since all libraries become twice as big, so when you upgrade to 64 bit, you should actually double the memory you wanted on 32 bit. There are only 2 reasons why you need 64 bit:
* You need to compute extremely large numbers. You'll get big performance boosts here.
* You need more then ~3.5 G ram. In which case you actually have to buy AT LEAST 8G to see a positive impact. Even this is not a hard requirement, as there are work arounds in 32-bit. But 64-bit is an absolute must if an individual process needs that much ram.
note: I see I'm voted down, and maybe I'm a little harsh in my comment, but can anyone add any other reasons to go to 64 bit? I've read a ton over the years and those are the only two I could find. Maybe I should add "because 64 is bigger then 32 and I can tell ppl my OS is 64 bit"
edit: Double is a great exaggeration, but not as much as the replies indicated. I moved from a 64-bit slicehost with 512M to a 32-bit linode with 320M and have LESS memory woes. The libraries really are almost twice as big. I speak from experience and not from theory.
Several reasons for me because that my desktop computer are mainly used to run several scientific computing tasks.
1. It can provide performance boost if you take advantage of that 64-bit calculation (two 32-bit calculations) is done in one clock-cycle, you can actually achieve 100% speed up.
2. Use more than 4G memory is not a big deal in scientific computing, and let's face it, more memory is better than read from disk.
3. The argument about the double memory consumption is plain wrong. All program still use int as the main type, which only 32-bit long. Only pointers takes 64-bit long, but you don't save much pointers in your memory (what's the point of keep 4G pointers in memory anyway?). Thus, the memory consumption is little larger, but definitely manageable.
4. (This point may be wrong, please correct me) double precision is common for calculation, and it takes exact 64-bit long, which makes it more suitable for 64-bit CPU.
To explain why you're being downvoted into oblivion:
ints remain the same size, but longs and pointers are double the size. 64-bit libraries may be bigger, but there's no reason they would double in size. In general, a 64-bit system uses more RAM, but not double.
One data point: IIRC, a benchmark I ran comparing memory consumption for Lua coroutines (co-operative threads) used roughly 1.3-1.4x as much memory on 64-bit as 32-bit.
I'm not sure if 1.25-1.5x would be accurate as a rule of thumb, but 2x is almost certainly too high. (It will depend on the data structures etc. involved.)
IIRC AMD64 does support x87, but Window/Linux have chosen to 'standardize' on SSE. In this respect x86-64 is a 'version' of x86 where all processors are guaranteed to have SSE and not need x87.
* You need to compute extremely large numbers. You'll get big performance boosts here.
* You need more then ~3.5 G ram. In which case you actually have to buy AT LEAST 8G to see a positive impact. Even this is not a hard requirement, as there are work arounds in 32-bit. But 64-bit is an absolute must if an individual process needs that much ram.
note: I see I'm voted down, and maybe I'm a little harsh in my comment, but can anyone add any other reasons to go to 64 bit? I've read a ton over the years and those are the only two I could find. Maybe I should add "because 64 is bigger then 32 and I can tell ppl my OS is 64 bit"
edit: Double is a great exaggeration, but not as much as the replies indicated. I moved from a 64-bit slicehost with 512M to a 32-bit linode with 320M and have LESS memory woes. The libraries really are almost twice as big. I speak from experience and not from theory.