Most computers today ship with a 64-bit version of Windows, and often a minimal amount of RAM.
This brings into question how well these systems perform.
This is especially true when users want to run their legacy 32-bit software on these new computers.
Which raises an interesting question.
Do youneed more or less RAMto run a 32-bit software on a64-bit version of Windows?
This week, Bruce Epper finds out.
Today we are going to examine how 32-bit applications execute on 64-bit versions of Windows.
A 64-bit Windows operating system cannot run a 32-bit Windows program without some additional help.
You need some way to make them compatible.
Understanding WoW64
Windows uses the WoW64 (Windows32 on Windows64) subsystem to compensate for the differences.
There are 3 DLL files used on x64/IA64 systems to achieve this: wow64cpu.dll, wow64win.dll, and wow64.dll.
All thunking is done in user mode (which has limited permissions) for two reasons.
Going back to Itanium systems, there are some other important differences to note.
IA64 systems use two additional files.
IA32exec.bin is the x86 software emulator and Wowia32x.dll provides the interface between WoW64 and the software emulator.
A 32-bit process will load these files as well as the 64-bit version of ntdll.dll.
These are the only 64-bit binaries that may be loaded into a 32-bit process prior to Windows 7.
Windows 7 and later also have another DLL, apisetschema.dll, which will be loaded into all processes.
Subsequent programs that require the same DLL do not load the entire component into memory.
One of them is the 32-bit version and the other is 64-bit.
Both went through the exact same installation and patching process.
Once that was complete LibreOffice 5.0.3.2 was installed.
A copy ofSysinternals Process Explorerwas also placed on both machines.
This is the tool I used to gather memory usage information.
The default column setup was changed so I could look at the Working Set and WS Private usage.
These working set numbers reflect the amount of RAM being used by the programs.
The working set is still the best gauge of exactly how much memory is required for a process.
The processes we are examining are not standing alone either.
The various LibreOffice programs launch another process, soffice.exe, which will execute yet another process, soffice.bin.
The results can be seen in the table below.
All data is in KB.
The big surprise occurred with Impress.
I dug up a few other presentations and had similar results with all of them.
The 64-bit system ended up using less RAM than the 32-bit system.
So, do the 64-bit versions of Windows require more RAM than their 32-bit counterparts when running 32-bit apps?
In general, yes.
But do you should probably upgrade your RAM?
The differencereallyisn’t that massive.
It’s certainly not 1.5 times different.