Hello,
Would my application, purely written for 32bit, run on a 64bit Windows Server 2008 better or worse than on a 32 bit Windows Server 2008?
Printable View
Hello,
Would my application, purely written for 32bit, run on a 64bit Windows Server 2008 better or worse than on a 32 bit Windows Server 2008?
And with that ofcourse I mean if it runs faster/ same / slower.
From Lesson 2. Support of 32-bit applications in the 64-bit Windows environment:
Different processor architectures have a bit different WoW64. For example, the 64-bit Windows version developed for Intel Itanium 2 processor employs WoW64 to emulate x86 instructions. This emulation is rather resource-intensive in comparison to WoW64 for Intel 64 architecture because the system has to switch from the 64-bit mode to compatibility mode when executing 32-bit programs.
WoW64 on Intel 64 (AMD64 / x64) does not require instruction emulation. In this case the WoW64 subsystem emulates only the 32-bit environment through an additional layer between a 32-bit application and the 64-bit Windows API. In some places this layer is thin, in others a bit thicker. For an average program, you may expect 2% performance penalty because of this layer. For some programs, it can be larger. Two per cent is not very much but keep in mind that 32-bit applications work a bit slower under the 64-bit Windows than in the 32-bit environment.
Compilation of 64-bit code does not only allow you to avoid using WoW64 but also gives you an additional performance gain. This is explained by architectural modifications in the microprocessor such as an increased number of general-purpose registers. For an average program, you may expect a 5-15% performance gain after mere recompilation.
Your 32-bit app will typically run very slightly slower on a 64bit machine than on a 32bit machine because of added conversion layers.
HOWEVER. Because of 64bit machine can have a lot more memory, and thus provide more caching, it's equally possible the reverse is true, it all depends on what your app does. Assuming the 64bit server does actually have a lot more memory, i'm goign to guess that in the majority of the cases, the extra memory will give you an edge.
To make the solution for you easier: Windows server editions are no longer being shipped in 32bit editions. So unless you can still find an old copy, you won't even find a Win2008 32bit anymore. Win2008R2 is 64bit only.