The Trouble With 32 bit Applications
Even when using a 64 bit version of Windows, the user can never really escape the past. For now, native 64 bit applications are rare, meaning that the majority of programs in use today are still 32 bit versions. In order to be able to execute these applications, Microsoft implemented the Windows-on-Windows 64 bit subsystem, also known as WoW64. In effect, WoW64 is an emulator for 32 bit applications which consists of the three DLL files WoW64.dll, WoW64win.dll and WoW64cpu.dll.
The task manager shows 32 bit applications.
The process explorer also differentiates between 32 bit...
...and 64 bit applications
Because the applications are being run in an emulation environment, it is difficult to judge their performance objectively, but most apps runs slightly slower than in a native 32 bit system. Microsoft claims that especially memory-hungry software may even run faster, but at any rate, the tests showed only marginal performance differences.
Another issue with 32 bit applications is the maximum memory chunk each process is able to address, namely 2 GB. This limit can be adjusted to 4 GB using a few special settings.
Photoshop is only able to use 3 GB, even though the system is equipped with 8 GB.
In the end, this means that even with 8 GB or more of system memory installed, each 32 bit application can only use a maximum of 4 GB. The only recourse these applications have is to page some of their routines that are currently not in use to the hard drive, which is obviously not going to improve performance.
The screenshot above shows that the files are loaded directly into RAM until 3 GB is reached; at that point, Photoshop is forced to write the files to the hard drive. As a result, CPU load also decreases, because the hard drive is much slower than system memory, meaning the CPU is waiting for data.
Native 64 bit applications are ready for the future, and each single process is able to address up to 8 terabytes of memory. Nonetheless, developers will have to update their applications accordingly. Simply re-compiling the 32 bit applications with a 64 bit compiler is not sufficient, as this would result in each process still being limited to 2 GB.