Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have Windows 7 x64 (I wanted more than 4GB of RAM), and I'm not talking about drivers here - I'm talking about installable applications.

If a vendor offers both an x86 and x64 version of their application, when should I consider the x64 version? Should I always prefer it, even if it's lightweight and not memory intensive, just because it's compiled in a compatible version, instead of installing the x86 version and asking Windows to emulate for me? What are the upsides to installing the x64 version of something? Since I'd assume the x86 version has a wider user base, could I expect it to be more thoroughly debugged?

Or, conversely, what is the downside to installing the x86 version of an app when an x64 one is available? Aside from the ability to access large chunks of memory, what else am I forgoing?

share|improve this question
up vote 5 down vote accepted

Applications compiled specifically for X64 should have better performance since they would not require an emulation layer.

Software vendors that provide both 32 and 64 bit editions of their products, probably do so with good reason. For example, they could be tweaking an algorithm to use different size floating point variables or memory addressing that yields greater performance.

Some vendors might also provide a "change log" that outlines the differences between the two versions, which could be reviewed.

I personally always choose to install the x64 version if available.

share|improve this answer

64-bits is preferable for the simple reason that this is the version that will be used in the future. The future is clearly 64-bits, and 32-bits will become a handicap in the years to come.

However, at the moment, there is little to choose from:

  • 64-bits instructions are a bit faster, but more memory-demanding, since they are larger (addresses are larger). So, as far as performance go, both are equivalent with extremely small differences.
  • 32-bits code is a bit smaller, so more economical on the memory use of programs. But as most 64-bits computers have oodles of memory, there is lots of memory to spare.
  • It's highly unlikely that an application will need more than 2GB, which is the memory limit of 32-bits applications.

Conclusion: Take your pick among the two architectures. But if you choose 32-bits, ensure that you also have the installation files for the 64-bits version, for future purposes.

share|improve this answer
I wouldn't say their performance is "equivalent with extremely small differences." After installing the 64-bit version of WinRAR, I immediately noticed a very nice speedup to the extraction process. I've also seen many benchmarks put 64-bit versions of certain algorithms (particularly video and gaming-related) up to 50% faster than their 32-bit counterparts. So I don't think you can simply shrug that fact away. – Sasha Chedygov Jan 2 '10 at 7:56
My opinions are also based on benchmarks. I wouldn't know whether the improvement you've seen is due to 64-bits or to the fact that the newer WinRAR was compiled using a more modern compiler and library set. – harrymc Jan 2 '10 at 9:32

In my opinion, if the vendor provides both, you should always download the 64-bit version, if for no other reason than that it doesn't make sense not to. There is no downside to using a 64-bit executable, and at the same time there are multiple advantages to it (mainly speed), so why not?

share|improve this answer

If there is 64 bit version available always go for the 64 bit.

I would recommend you to take a look at 7 things you need to know about 64 bit version of Windows 7

share|improve this answer
Does that 64-bit version offer any specific benefits, or do you go for it just because it's the same built as our OS? – SqlRyan Jan 2 '10 at 7:34

Generally I'd usually go for 64-bit builds of software, but not always.

Depending on the importance and usage of the application, before making a final decision, I may look through the list of bugs and the changelog. Sometimes with 64-bit builds you'll find that the 64-bit version is a little behind on porting features over and some bugs needed to be ironed out first.

With that aside, try to go for the 64-bit build whenever possible. Besides the greater memory address space you've mentioned, programs that do a lot of CPU intensive tasks (compression, encryption) can greatly benefit from the 64-bit registers.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .