3

Possible Duplicate:
32-bit vs. 64-bit systems

I've come to realize nearly every application I use is for 32-bit processors. Why are most programs still like this, considering almost all PC's on the market now seem to be 64-bit. Is there any real advantage to using 64-bit programs?

4 Answers4

5

Windows XP still makes up nearly 50% of the install base of Windows. When you add in 32-bit Vista and 32-bit Windows 7 installations, 60 - 70% of Windows PC's are running a 32-bit operating systems.

Click here for May 2011 Windows install base stats

enter image description here

Software companies won't release 64-bit software until a large enough slice of the market has a 64-bit operating system, since developing 64-bit versions of software takes significant resources. Plus, 32 bit software runs fine on 64-bit Windows, so there's no real incentive to move to 64-bit, except in niche applications like PhotoShop, which benefit from the larger available memory.

bwall
  • 1,383
5

On Windows (and possibly other 64-bit operating systems), 32 bit applications are supported. One possible advantage of a 32 bit application is therefore greater portability.

The main advantage of a 64 bit application is that it can access 4GB or more of memory as a flat address space. However, relatively few applications benefit from that. The disadvantage of a 64 bit application is that every pointer takes up 8 bytes of memory instead of 4 bytes. This means that program code and data structures take up more memory, which means they can be slower. How much slower varies a lot. It's possible for a 64 bit application to be a tad faster, due to memory alignment issues, though my guess is that the larger memory footprint will outweigh this for a while.

As processors get more optimised for 64 bit code, and less optimised for 32 bit, over time - and as the savings get less relevant compared with the hassles - these issues will become as irrelevant as the potentially slightly better efficiency of 16 bit code for applications that only need 64K of memory. To some degree that's already happening - but as long as lots of people keep hanging on to Windows XP, the portability issue will remain.

On Linux, "old 32 bit apps" are virtually a non-issue. Because source code is available for most software, either a 32 bit or 64 bit compile is usually just as easy to get, even for old apps. If you're using 64 bit Linux, all your apps are probably compiled as 64 bit code - I haven't checked whether any 32-bit binary support is included in 64-bit Linux even though I use 64-bit Linux every day, because it's a non-issue.

3

There are two key reasons as far as I can tell.

  1. Compatibility, as in if companies continue to support 32 bit then they can still sell to the people who either can't upgrade due to old or incompatible systems or won't upgrade because "it costs too much" or "doesn't work with everything" or whatever other weak reasons they can come up with.

  2. 64-bit, while a great bonus and definitely worthwhile moving forwards, is not actually necessary for the vast majority of programs. Does a spreadsheet actually need >4GB of RAM. No. Will it benefit from the marginal speed boost 64-bit offers? Again no, not really.

64-bit is the way forwards, but it'll take a few years to slowly kick off the 32-bit cruft and move onwards.

Mokubai
  • 95,412
2

It simply comes down to market share and the costs to make code 64-bit compatible. At a certain point, when enough people are on 64-bit, more and more companies will find that they need to market and produce for them.

I would also say that most still are not 64-bit...A lot of people and businesses still use 32-bit, often because they are just afraid of incompatibility.

KCotreau
  • 25,622