I already discussed the Vista x64 vs. Vista x86 question a year ago. Vista was just released and for the early adopters, the first decision to be made was which edition, i.e. 32-bit or 64-bit, would be the better choice. At this time, I was skeptical regarding Vista x64, mostly because the advantages didn’t outweigh the downsides. It is time now to reconsider this question since the main disadvantages of the 64-bit version (hardware and software compatibility) might not be such an issue anymore.
Latest posts by Michael Pietroforte (see all)
- Results of the 4sysops member and author competition in 2018 - Tue, Jan 8 2019
- Why Microsoft is using Windows customers as guinea pigs - Reply to Tim Warner - Tue, Dec 18 2018
- PowerShell remoting with SSH public key authentication - Thu, May 3 2018
I was planning to do some research already for some time, but fortunately the German print magazine C’t (8/2008) just published a couple of comprehensive reports about this topic. So I will summarize some of their findings garnished with my own views. Today, I will focus on performance and in my next posts in this series, I will discuss software compatibility and hardware compatibility.
First of all, why would one prefer Vista x64? I outlined some of the reasons in my earlier post. What I said about security and reliability is still valid. However, a year later things might have changed regarding performance. There are two ways of improving 64-bit operating system's performance. It utilizes the 64-bit specific computational advantages of the processor and it allows you to use more memory which is often the best way to improve performance.
Computational performance ^
I suppose that many think that a 64-bit processor performs better than the 32-bit CPU. This might be due to the fact that the transitions from 8-bit to 16 and from 16 to 32 brought some performance gains indeed. At least, this is how I remember it. There are essentially two reasons why a 64-bit Windows should be faster: Compilers have more options for code optimization and all 64-bit CPUs support the so-called SSEx-instructions, a command set that is supposed to be more efficient.
Some 32-bit CPUs support SSEx, too, but most 32-bit apps don’t use them because that would prevent them from working on older 32-bit processors. Hence it follows that only applications which were optimized for 64-bit will show performance gains. Unfortunately, this isn’t the case for most Windows programs, nowadays.
C’t ran a couple of benchmark tests with applications that should most likely benefit from a 64-bit CPU. Such apps are mathematical apps and graphics programs. Their tests show that in most cases Vista x64 isn’t really faster than Vista x86. Sometimes it is even slower. But all in all, the differences are not worth mentioning.
So better CPU performance can hardly be the reason why one would want to move to Vista x64. However, if you have an application that was optimized for 64-bit things look different. Although, Vista has been released more than a year ago, optimized 64-bit apps are still very rare. Note that if your software vendor offers a 64-bit edition, it doesn’t necessarily mean that it will also perform better than the 32-bit app. This just guarantees that it will work under Vista x64.
Even though CPU performance is not an issue here, performance in general certainly is the main reason that speaks for 64 bit. However, it is not CPU power, but the option to use more memory. In theory, a 32-bit CPU supports 232 Byte = 4GB RAM. Unfortunately, Vista x86 supports only up to 3.12 GB. For compatibility reasons Vista has to reserve some of its memory for device drivers. So putting more than 3GB in a computer that runs Vista x86 doesn’t make sense.
Also, Vista’s kernel will reserve at least 2GB of the 4GB for its own utilization (including the above mentioned reserve for drivers). That means that you only have 2GB for applications at the most. In most cases that will be enough. Only if you have to run many memory hungry apps simultaneously will you need more.
A disadvantage of 64-bit apps is that they usually need more memory due to 64-bit pointers. Thus, running Vistax64 on a computer with 3GB or less only makes sense if you run applications that were optimized for 64-bit.
The most common reason nowadays why you might need more RAM than 3GB is that you want to run a virtualization solution such as VMware Workstation or Virtual PC on your PC. As long as you run only one guest OS, 3GB might be sufficient. But if you test software where you need a couple of guest systems simultaneously, you certainly have a good reason to move to Vista x64.
Modern laptops with 64-bit CPU support up 4GB and desktops usually allow you to use 8GB. RAM is very cheap now. 4GB sell for less than €100 ($150). So money isn’t a reason anymore for refraining from putting more RAM in your PC. Of course, if you have hundreds or thousands PCs in your organizations that is something different. But then you certainly don’t need a 64-bit OS on all of them. For those PCs that would benefit from Vista x64 the only question is if the notorious software and hardware compatibility problems of Vista x64 are still an issue. I will explore this topic in my next posts.