Performance diff between Win2K and WinXP?
-
I have an application that has been brought out of mothballs, and am trying to determine the root of an obvious difference in performance between running on a Win2K machine and running on a WinXP machine. Originally, the application would crash sporadically on a Windows XP machine. The application had been compiled many moons ago, so I set up VStudio 6 on a Windows XP machine, and recompiled the source code. Now the application will run on either Windows 2000 or Windows XP, but exhibits a definite performance decrease on a Windows XP machine. The source code is not mine, so I don't know it intimately, and it has been many moons since I coded in Visual C++. But I have been able to recall enough to debug into it some. The UI is a thin layer on top of a calculation engine written in (from what I can tell) very generic C/C++ code. In other words, file I/O operations are done using fopen, fprintf, etc. The main calculation loop has 4 main steps, and it loops for every day of a given year. I placed local variables to track average tick count for each of these steps, and can see that one of these steps takes significantly longer than the rest. But again, diving into this function, all I see is standard C/C++ code. My basic question is, are there any known performance differences when using C/C++ code on these two platforms. Does calloc perform awful on WinXP for some reason unless a particular compiler option is set? Does qsort perform fine on Win2Kbut awful on WinXP? Everything in my experience tells me, there should be no difference. So I think I'm looking for a needle in a haystack. Has anyone come across anything similar? Any suggestions are greatly appreciated... Cheers, Carl
-
I have an application that has been brought out of mothballs, and am trying to determine the root of an obvious difference in performance between running on a Win2K machine and running on a WinXP machine. Originally, the application would crash sporadically on a Windows XP machine. The application had been compiled many moons ago, so I set up VStudio 6 on a Windows XP machine, and recompiled the source code. Now the application will run on either Windows 2000 or Windows XP, but exhibits a definite performance decrease on a Windows XP machine. The source code is not mine, so I don't know it intimately, and it has been many moons since I coded in Visual C++. But I have been able to recall enough to debug into it some. The UI is a thin layer on top of a calculation engine written in (from what I can tell) very generic C/C++ code. In other words, file I/O operations are done using fopen, fprintf, etc. The main calculation loop has 4 main steps, and it loops for every day of a given year. I placed local variables to track average tick count for each of these steps, and can see that one of these steps takes significantly longer than the rest. But again, diving into this function, all I see is standard C/C++ code. My basic question is, are there any known performance differences when using C/C++ code on these two platforms. Does calloc perform awful on WinXP for some reason unless a particular compiler option is set? Does qsort perform fine on Win2Kbut awful on WinXP? Everything in my experience tells me, there should be no difference. So I think I'm looking for a needle in a haystack. Has anyone come across anything similar? Any suggestions are greatly appreciated... Cheers, Carl
Do you have VS6 installed on both platforms? If so, you could use the profiler to find the bottleneck.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
-
Do you have VS6 installed on both platforms? If so, you could use the profiler to find the bottleneck.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
David, Thanks for the response. I don't have a profiler on both platforms, but do on a development XP system. I had some time the other day, and tried to get some decent info out. Unfortunately, I'll need to find more time to put to it, my quick attempt at profiling did not yield much useful information. But thank you for pointing me in that direction. I don't think I'd ever used the profiling tools provided with VStudio, though I have used things like BoundsChecker and RedGate ANTS Profiler, so I get the general concepts. Thanks again for the suggestion. If you know any parituclarly good tutorials on using PREP and PROFILE, I'd appreciate it. Otherwise, I'll research and see what I can find... Cheers, Carl