Vista Workshop: More RAM, More Speed

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.

  • anonymous x
    Crazy
    Nice article!
    Reply
  • trifler
    We need to see benchmarks comparing Vista with 2MB, 4MB, and 8MB. I can't tell my boss that the new high-end computers should have 8MB without some numbers.
    Reply
  • I think meant GB not MB there Trifler... 8MB of ram is not very much... and a "high-end computer" should have at least 2GB of RAM for a 32-bit system, and is OS dependant for 64-bit systems... vista depends on the ver you use as to how much ram is max.
    I have 1 GB of RAM and am using 80% after a normal boot (plus a few non-essential apps... but they make doing things easier
    Reply
  • SkyPRZ
    There is a "test setup" but not followed by any test but directly by the conclusion.
    Did I miss something?
    Nevertheless I've already built a system with Vista 64 & 8GB ram few weeks ago and wanted the test to comfort decisions I made.
    Reply
  • trifler
    Bleh I meant GB not MB in my earlier comment...
    Reply
  • master9716
    with 2 gigs of ram my 64bit runs ultra fast compared to 32bit , I have 3 hdds quad 6600. it should be the otherway around though . On my laptop with 1.5 gigs vista basic runs prety bad I will reinstall see what happens . We need to see some load time benchmarks !!! eventhough this is an old article
    Reply
  • Darthb0b0
    on page 7, how are you changing the amount of ram a particular app is using? is this only applicable to 64-bit windows, or could you also change this with 32-bit?
    Reply
  • Darthb0b0
    One other thing. on page 5 you say that w/4gb of ram it has no benefit to go to 64 bit due to the larger memory foot print required - essentially eating up the extra memory. The extra system memory used is 757 - 549 = 208. Yet the extra addressable memory gained is 4096 - 3581 = 515. The difference is still a net gain of 307mb of ram. Or am I missing something?

    Also, is the reason that only 3.5GB is available in the 32-bit environment due to the 512mb video card and MMIO? If so, what will happen in a 32 or 64 bit system if you have a video setup with 2gb of video ram? Will you only have 2GB of main memory available?
    Reply
  • Darthb0b0
    One answer found:

    Significant chunks of address space below 4GB (the highest address accessible via 32-bit) get reserved for use by system hardware:

    • BIOS – including ACPI and legacy video support

    • PCI bus including bridges etc.

    • PCI Express support will reserve at least 256MB, up to 768MB depending on graphics card installed memory

    Reply
  • Darthb0b0
    Reply