Performance degrades when compiling with _win32_winnt = 0x0501 instead of 0x400

Does anyone know of any performance implications when changing _win32_winnt from 0x400 to 0x0501?

I am compiling C ++ on VS2005. My application is very communication oriented, doing quite a lot of Winsock work.

+1


source to share


2 answers


I am not aware of any specific performance issues, but if you could provide more specific details on how your performance is suffering, someone can help.



For example, is your network bandwidth lower than you think?

0


source


The 0x0400 target value is _WIN32_WINNT_NT4, which is a smaller subset of the SDK window designed for Windows 2000. This means you are excluding, ignoring, and throwing away a lot of code that would have been compiled into your executable. So yes, it will run faster.

So when you define 0x0501 you say yes, give me all that rich extra goodness that Windows XP header files are. However, your application will most likely not work on Windows 2000 due to a failed import. Since you are bringing in all the extra fat, compilation times will be slower and your code will be larger, your executable will be larger, and most likely it will be slower.

You can find more information on these topics:



http://blogs.msdn.com/b/oldnewthing/archive/2007/04/11/2079137.aspx

http://msdn.microsoft.com/en-us/library/aa383745.aspx

+1


source







All Articles