Originally published at: http://www.howtogeek.com/194119/why-are-most-programs-still-32-bit-on-a-64-bit-version-of-windows/
Your computer is probably running a 64-bit version of Windows. But take a look at the Task Manager and you’ll see most programs on your system are still 32-bit. Is this a problem?
It's not really a problem. The primary advantage of 64-bit computers is the ability to address more than 4GB of RAM and still only use one word for the address. With 32 bits you have to use 2 words to get more than 4GB, which adds complexity and overhead. For an individual application that does not need more than 4GB of RAM, that's not an issue, so the OS just drops the irrelevant 32 bits of each word without much fuss. If you run a big database, or other application that wants to use more than 4GB of RAM, you want a 64 bit version of that application.
As with all things computer-related, there are a number of other complications, but as far as I know, the essential part is the memory. Distributing one 32 bit version is easier for most suppliers than making two versions and having some set of users install it incorrectly.
That's not really a problem with a universal installer; well written installers can handle installing the correct binaries for your operating systems.
Aside from the memory issue, 64-bit programs often can't use 32-bit DLL's or addons, and 32 bit programs can't use 64-bit DLL's or addons. This is why Microsoft ships two versions of IE: the 64 bit version can't use 32-bit plugins. (I'm curious to see how the 64-bit Chrome deals with plugins.)
It's also worth mentioning that, for large programs, the 32bit will use less RAM. Most people don't need an excel spreadsheet that over comes the 32bit limitations. By loading the 64bit version of excel, you're not taking advantage of its potential, and you're getting the negative effect of the suite taking way more RAM, simply because all the pointers and other variables floating in memory take twice as many bits.
There is also an issue with Intel processors where apps cant use 64 bit architecture because sometimes they are slower than x32 one. There are some benchmarks on stackoverflow but i can't find them atm.
I know of at least one popular software - Revo Uninstaller - which includes 64-Bit capabilities only in the paid, or "PRO" version of their product.
In the case of Revo - the free version will only "see" the 32-bit programs running on your system - while the Pro (paid) version shows all installed software - both 32 and 64 Bit.
I'm not sure if other companies do the same, but with more 64-bit installations, this makes the free version of Revo less useful with each passing day.
Have you seen this yourself? This isn't supposed to be a huge issue; one of the optimizations compilers make is to pack smaller variables together in memory so that 8 and 16 bit atomic types are grouped in to a single 32-bit block. A 64-bit compiler should do the same thing.
There's no doubt there will be a little bit more slack space in memory, but it won't be double or anything... probably just a few percentage points. On the other hand, I certainly want the option to use more memory if I need it, so I will almost always install the AMD64 version of a program if there's a choice between x86 and AMD64 versions.
If you look at MS Office, for example, the 32 bit version does use less RAM. If you declare something as a pointer, it needs to keep the entire 64 bits, same as if you had picked an int. The compiler can only group if you actively use something like Boolean, small int, char, ect since they're by definition smaller than 64bits.
If you select a pointer or int for example, they by definition take the whole space. Since the compiler can't know if you'll use that space or not, it can't do the same type of grouping.
In the Chrome 64 bit browser, 32-bit NPAPI plugins are not supported because they plan on removing NPAPI entirely at the end of this year.
Okay, we're talking about two separate things, then.
Yes, the pointers themselves will always be larger on a 64-bit system, but the objects they point to are not necessarily larger if they're made up of atomic types.
The real question is... how much is the difference, really? If it's 10%, I don't see that as a real concern, especially since there's going to be some overhead in the WOW32 subsystem. But if the 64-bit version uses twice as much RAM...that would be something that would concern me.
My organization did some testing... I don't really remember what the stated difference was, but it was enough that we chose to keep installing 32bit over 64bit Office for any machine that had 4GB or less of RAM. Granted, those machines are getting fewer and fewer, but some departments just aren't upgrading as fast as they should be. I'm sure there are a lot of organizations out there that suffer with some similar concerns.
To me, it's a pretty minor detail, and I would always install the 64bit if given the option. I just thought it was prudent in an article discussing the difference in how they work
I agree; on < 4GB machines, there's no real advantage to 64-bit software. If a computer is never likely going to be upgraded to a 64-bit OS or to more than 4GB of memory, you're better off using 32-bit software.
32-bit apps may run fine on 64-bit operating systems at the moment. But let's not forget what happened to 16-bit apps. You could run 16-bit apps on the legacy 16-bit and newer 32-bit operating systems, but not on 64-bit. The compatibility layer for 16-bit was scrapped, as will be the case with 32-bit eventually. 32-bit will be prevalent for quite some time, however. We'll be running all 64-bit apps before an issue with 32-bit compatiblity will surface. So it's nothing to worry about. But 32-bit's days are numbered. That's a great thing, even if 64-bit is not needed in all cases.
MS Office (2013/365, and earlier) defaults to 32 bit versions. Actually, MS has "hidden" the 64 bit download.
The reason is the one you cited, MS warns users that not all vendors have created 64 bit versions of their addons, so you could lose functionality. What they don't say is that MS is one of those vendors who has not bothered to create 64 bit versions of all of their tools.
MS suggests that the main reason for switching to 64 bit is if you are dealing with file size approaching 2GB or you use files that require 2GB or more of RAM when they are opened. The specific example Excel spreadsheets that have LOTS of data, or have many or complex calculations that require much RAM to work.
I didn't notice that before, but sure enough... it's really hard to find. Interesting!
 Turned that into a quick article for tomorrow.
This topic was automatically closed after 10 days. New replies are no longer allowed.