473,785 Members | 2,300 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Windows 2003 Server vs Windows XP

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
Oct 8 '07 #1
7 4972
Eddie wrote:
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.
That is a very odd problem, and not consistent with results I've seen (where
I've always seen nearly identical performance).

You might try asking in microsoft.publi c.win32.program mer.kernel, however.

-cd
Oct 8 '07 #2
This has nothing to do with the Visual C++ language. Though I heard server
versions of windows have strategies to allocate memory blocks and schedule
processes to shorten response time for all processes.

--
Sheng Jiang
Microsoft MVP in VC++
"Eddie" <Ed********@com munity.nospamwr ote in message
news:A3******** *************** ***********@mic rosoft.com...
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

Oct 8 '07 #3
Thanks Sheng, that is very useful. Do you know where I might be able to find
out more about this? (Web-site, book, published paper?)

Eddie

"Sheng Jiang[MVP]" wrote:
This has nothing to do with the Visual C++ language. Though I heard server
versions of windows have strategies to allocate memory blocks and schedule
processes to shorten response time for all processes.

--
Sheng Jiang
Microsoft MVP in VC++
Oct 9 '07 #4
Problem solved! It was a file mapping option that caused them to slow down.
The programs now run marginally faster on Windows 2003 Server. Phew.

Eddie
Oct 11 '07 #5

"Eddie" <Ed********@com munity.nospamwr ote in message
news:E0******** *************** ***********@mic rosoft.com...
Problem solved! It was a file mapping option that caused them to slow
down.
The programs now run marginally faster on Windows 2003 Server. Phew.
Mind sharing which flag/option?
>
Eddie

Oct 11 '07 #6
I'll explain the fix in more detail - and how the situation occurred. I hope
this will help others if they see a similar problem.

The code we use for file mapping in a suite of programs was written some
years ago, at that time the MSDN library suggested that the EC_NOCACHE flag
in "CreateFileMapp ing" could be beneficial - and indeed it showed a modest
increase in run-times for some of our programs on Windows XP (about 5%, which
is good when some of these programs take a few days to complete).

We recently tried some of these programs on Windows 2003 Server and the
results were bad, as I mentioned earlier. Of course we had completely
forgotten about this option; the number of lines of code in these programs is
very large.

The latest MSDN library does not recommend using the flag, except where
essential. We removed it in one program, and Windows 2003 Server now runs
this program somewhat faster than Windows XP. The run-time on XP has slowed
down a little, as already explained. We are now investigating the use of this
option on Vista, XP, 2003 Server and 2000 Server as well as with all the
other programs we have.

Eddie

"Eddie" wrote:
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
Oct 12 '07 #7
Microsoft Windows Internals 4th. ed. page 49

--
Sheng Jiang
Microsoft MVP in VC++
"Eddie" <Ed********@com munity.nospamwr ote in message
news:14******** *************** ***********@mic rosoft.com...
Thanks Sheng, that is very useful. Do you know where I might be able to
find
out more about this? (Web-site, book, published paper?)

Eddie

"Sheng Jiang[MVP]" wrote:
This has nothing to do with the Visual C++ language. Though I heard
server
versions of windows have strategies to allocate memory blocks and
schedule
processes to shorten response time for all processes.

--
Sheng Jiang
Microsoft MVP in VC++

Oct 17 '07 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
4457
by: Nathan Sokalski | last post by:
I want to set up SQL Server on Windows XP Pro so that I can use the database capabilities of ASP and IIS. I am probably using some incorrect settings, but I am not sure what they are. Here is what I am currently doing: When I run sqlservr.exe I see the following: 2003-12-19 15:51:28.20 server Microsoft SQL Server 2000 - 8.00.760 (Intel X8 6)
11
3765
by: Wolfgang Kaml | last post by:
Hello All, I have been working on this for almost a week now and I haven't anything up my sleeves anymore that I could test in addition or change.... Since I am not sure, if this is a Windows 2003 Server or ADO or ODBC issue, I am posting this on all of the three newsgroups. That's the setup: Windows 2003 Server with IIS and ASP.NET actiavted Access 2002 mdb file (and yes, proper rights are set on TMP paths and path,
2
15229
by: Ken Lindner | last post by:
I have a need to become familiar with SQL Server 2000 for work. Needless to say I am new to SQL Server any version, but not IT in general. My employer has provided me with the SQL Server 2000 Personal disk from the SQL Server 2000 Enterprise kit as this is reported here on the MSDN web site to be the version that is supported on Windows XP. In fact so many of you kind people confess to having succeeded in doing it. I have tried...
2
3215
by: Vaap | last post by:
I did lot of googling to see if I can solve the SQL server not found problem while trying to run ASP.Net community starter kit from an XP machine to Windows 2003 server hosting SQL server 2000 database. Tried all possible combinations but it still fails. I have Windows 2003 server having SQL Server 2000 installed with SP2. The installation went Ok on a XP professional machine and I was able to create database and user logins etc on...
2
2630
by: Joseph Geretz | last post by:
I'm having a credentialing problem in my web application. Actually, I don't think this is an IIS security issue, since I'm able to access the page I'm requesting. However, the executing page itself is not able to access a specific network resource and I just can't figure out why. First of all, let me say this worked fine with IIS running on Win2000 Server. This has not worked since I upgraded to Windows Server 2003. My Platform: Windows...
7
1891
by: Cliff Harris | last post by:
I don't currently have an installation of Windows 2003 server, or I could answer this myself. After having a client install ASP.NET on Windows 2003, I then tried to find the aspnet_wp.exe process but he claims it's not here. Now at first I didn't beleive him, however, I wondered if now that Asp.Net is integrated into IIS in WIndows 2003, is there a separate process? In the end, what I want to find out is, on a default installation of...
7
3214
by: lvpaul | last post by:
Hallo ! I am using IIS-Windows-Authentication in my intranet (web.config <authentication mode="Windows" /> <identity impersonate="true" /> How can I get the users (client) IP-Address ? I think the username can be read with user.identity.name.
0
2229
by: Charles Leonard | last post by:
I am having yet another issue with Windows Server 2003. This time, the web service (a file import web service) appears to run except for one odd message: "ActiveX component can't create object". There are no other statements to indicate what object cannot be created. Otherwise, everything on the test Windows Server 2003 works fine—all import data updates correctly. Unfortunately, my normal development environment is not Windows...
3
2015
by: Vinod R.Shenoy | last post by:
Hi All, Came across a post wherin you had helped somebody with a similar problem and was wondering if you could help us out with it. Our problem is , We have a development SQL Server 2000 (running on Win2K SP4) machine that we want to run on a Windows 2003 server machine and access it via our internal LAN. We have opened the firewall to allow our applications
0
9647
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10357
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10101
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9959
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8988
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7509
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5396
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5528
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3665
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.