Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm trying to convince somebody of the benefits of switching to a 64-bit OS but I'm having a hard time finding arguments other than "you can use more than 3GB RAM". Are there any other clearly-communicable benefits in having a 64-bit operating system?

share|improve this question
1  
Good question, I've been thinking the same. Maybe you should clarify what sort of person you are trying to convince, because some of the answers below would be far too technical if we are talking about a casual computer user. –  Ash Jul 20 '09 at 11:52
1  
ashh: that is because the benefits and drawbacks of 64-bit operating systems are all very technical. At least on Linux, for nontechnical end users there is almost no noticeable difference (even I constantly forget whether the machine I'm using is a 64-bit or a 32-bit one); on Windows, there are more incompatibilities and oddnesses to deal with on 64-bit, but other than that again a nontechnical end user will hardly notice the difference. –  CesarB Jul 20 '09 at 14:19

7 Answers 7

up vote 22 down vote accepted
  • For x86-64 compared to IA-32, there is twice as many registers, which allows compilers to generate better code.
  • On most operating systems, the 64-bit ABI allows the generation of better code than the 32-bit ABI (by passing parameters on registers instead of on the stack, for instance).
  • Some things which are extensions on IA-32 are always present on x86-64, so programs can use them without needing to code a fallback (for instance a certain level of SSE).
  • Last but not least, 64-bit time_t, which will be more and more important as we get near 2038.
share|improve this answer
6  
+1 for the time –  ChrisF Jul 20 '09 at 11:17
    
You need to explain what you mean by: "twice as many registers, which allows compilers to generate better code". What is "better code"? –  Ash Jul 20 '09 at 11:41
1  
Also I have noticed that operations with 64-bit integers are roughly four times as fast in 64-bit code against 32-bit code (I regularly pick the wrong C compiler here and then wonder why Lua is faster than C :)) –  Joey Jul 20 '09 at 11:43
3  
ashh: Registers are the storage locations the CPU has fastest access to, but on x86 they are a very limited resource. So if you have many local variables to need you would have to constantly shift them from registers to the stack and back again which takes time. With more registers you can hold more of them in reach at a time without needing to use the stack. Compare with you only having two hands: You can only manipulate two things at a time; with fourhands, you can do twice as much (if your brain keeps up, but that aside for now). –  Joey Jul 20 '09 at 11:46
    
@Johannes, you should add your comment as an answer to this question! I was asking rhetorically so that Cesar would add such a clarification. –  Ash Jul 20 '09 at 11:48

It really depends on what you want to use the OS for. For the vast majority of "normal" users, the move to 64-bit doesn't really give them much of anything. The only areas currently where 64-bit is really useful is if you want to use more than 4GB of memory (as you stated), or doing calculations with numbers that won't fit into 32-bits.

Eventually, all PCs and OS's will only come in 64-bit varieties, but for now if all they want to do is surf the internet or check e-mail, there isn't a pressing need to move to 64-bit.

share|improve this answer
    
For me, the extra memory support really already is a good enough reason to upgrade. I bet over time, most casual users will feel that way, too :-) –  marc_s Jul 20 '09 at 11:20
2  
@marc, most casual users are not going to feel that way unless software vendors start writing email clients, web browsers and word processors programs that need >4GB RAM. Then again, I'm sure it will not be long before that happens. –  Ash Jul 20 '09 at 11:46
    
@ashh my Firefox already likes to use ~2 GB RAM. It won't take that long :) –  Quiark Jul 20 '09 at 15:12

No. That's about it.

For general home users there is no advantage to x64. If anything, because all your pointers and now 64 bit, you may find you use more memory to do the same thing.

The only significant advantage to x64 is more memory, and currently that is only really being utilised by servers.

share|improve this answer

Not only can you have more than 3 GB of RAM, any software compiled/written with 64-bit in mind can use 64 bit registers and data types which can definitely speed up applications that move around enormous amounts of data, such as 3D programs, CAD, Photoshop, etc.

However, if you're just an average Joe that doesn't work with creative programs, and just reads e-mail, surfs the web, watches YouTube videos, you probably won't even notice unless you plug in a device that requires 64 bit drivers, but the vendor has not released any.

share|improve this answer
2  
I have had this problem on many occasions. If you use a x-64 bit system you have lying around as a server, you might find out a nasty surprise when you start adding additional hardware you have lying around. A good illustrative example of the dilemma I experienced was when I attempted to add a 3COM 3c509 NIC card to the system. There are NO drivers anywehre for legacy hardware. I found that I was over a barrel and had to buy a premium intel NIC card to get a 64 bit driver that worked. This problem will go away over time. There is insufficient incentive for vendors to support old hardware. –  Axxmasterr Jul 20 '09 at 14:01
    
@Axxmasterr: ISA slots and x64 CPU support on the same motherboard? Seriously? There can't be that many of those out there. Is this some sort of industrial PC? –  bk1e Aug 10 '09 at 0:29

In fact, you can run more than 3 GB (or more than 4 GB) of RAM on 32-bit operating systems. PAE provides a means for an x86 or x86-64 processor to access up to 64 GB of memory even on a 32-bit operating system. It's not quite as straight-forward as just running a 64-bit OS, mind you. The memory is paged, and so each process is still limited to a maximum of 4 GB. Additionally, not all operating systems support this. Some versions of 32-bit Windows made use of PAE, but unfortunately, so they could support badly written drivers, most versions limited support to 4 GB of memory. For example, Windows XP and Windows Vista are limited to 4 GB (and, as noted, tend to only expose around 3 GB). On the other hand, Windows Server 2008 Enterprise, Datacenter supports 64 GB of RAM.

The Linux kernel supported more than 4 GB as part of the 2.6 kernel. However, the Linux distributions sometimes make you install a "server" kernel image in order to make use of this feature.

share|improve this answer
    
Good point. I can't really figure out why people still believe they need a 64 bit OS to utilize more than 4GB of RAM. –  neu242 Jul 20 '09 at 12:34
    
With Linux another option is to run a 64bit kernel and a 32bit userspace, which gets you full access to >= 4GB RAM, although processes are still limited to 4GB each. –  TRS-80 Jul 20 '09 at 13:59

The .NET JIT (Just-In-Time) engine contains more advanced optimizations in x64 version (tail-recursion optimization, for example). This means .NET applications have potential to run faster on 64bit systems.

share|improve this answer

If you can find some good 64-bits versions of your popular software then yes, upgrading to 64-bits will be an advantage. And there are 64-bits versions of certain applications available. However, these applications tend to be related to image manipulations, movie editing and of course sound editing. Basically, just applications that will handle loads of data. The quality of watching a DVD movie on your PC will also increase since the system can handle the data a bit faster and it can store more data too, if your system has more RAM available.

There's also a small performance gain if you tend to run lots of applications simultaneously. (Even if all those applicatuions are 32-bits versions!) Why? Because the OS itself can handle the additional memory a bit easier, thus allowing more applications to stay in-memory which results in less swapping to the swap file. (And you can have a lot bigger swap file too!)

But I upgraded to 64-bits because I do a lot of image manipulations, which requires a powerful system and lots of memory. (Well, I need a lot of memory, at least.)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.