G
Guest
We have an odd situation with some of our single-threaded CPU-bound C++
programs. They run between 2 and 4 times faster on Windows XP than on windows
Server 2003 on the same Xeon hyperthreading dual processor machine (we
borrowed one from our IT department, and have been alternating these two
operating systems on it.)
Even more odd, if we run a Virtual PC with Windows XP on top of the Windows
2003 Server on the same Xeon machine, the programs run faster too. There is
nothing else running on the machine during these tests, both underlying
operating systems show the expected 25% CPU usage.
I've changed the Windows 2003 Server system properties to give the best
performance for programs as opposed to background work, but this made no
difference.
Next I tried running the programs on my Core 2 Duo with Windows XP, and
comparing this with a Virtual PC running Windows 2003 Server on top of
Windows XP on my machine. The programs showed negligible difference in
run-times, and the expected 50% CPU usage.
We think, but are not sure, that the slowing down on 'native' Windows 2003
Server is something to do with memory cache misses. This seems to be the only
thing our profiling tool (AQTime) shows to be substantially different when we
run our programs.
Does anybody have a similar experience? Is this a 'known fact'? Is there
anything we can do to our programs to make them run faster on Windows 2003
Server? I'm not sure I'm asking the right forum, if I'm not where would be
better? We need to move the programs to a Windows 2003 Server production
environment but are very disappointed with the throughput.
Eddie
programs. They run between 2 and 4 times faster on Windows XP than on windows
Server 2003 on the same Xeon hyperthreading dual processor machine (we
borrowed one from our IT department, and have been alternating these two
operating systems on it.)
Even more odd, if we run a Virtual PC with Windows XP on top of the Windows
2003 Server on the same Xeon machine, the programs run faster too. There is
nothing else running on the machine during these tests, both underlying
operating systems show the expected 25% CPU usage.
I've changed the Windows 2003 Server system properties to give the best
performance for programs as opposed to background work, but this made no
difference.
Next I tried running the programs on my Core 2 Duo with Windows XP, and
comparing this with a Virtual PC running Windows 2003 Server on top of
Windows XP on my machine. The programs showed negligible difference in
run-times, and the expected 50% CPU usage.
We think, but are not sure, that the slowing down on 'native' Windows 2003
Server is something to do with memory cache misses. This seems to be the only
thing our profiling tool (AQTime) shows to be substantially different when we
run our programs.
Does anybody have a similar experience? Is this a 'known fact'? Is there
anything we can do to our programs to make them run faster on Windows 2003
Server? I'm not sure I'm asking the right forum, if I'm not where would be
better? We need to move the programs to a Windows 2003 Server production
environment but are very disappointed with the throughput.
Eddie