I have a 3rd party library and a simple benchmark test that I write by myself to test this library for performance. 3rd party library is C++/CLI .NET library and most code there is unmanaged. This library is assembled for .NET Framework 2.0. My benchmark test is managed C# code that adds little overhead to the library, only simple calls to the methods, subscription to event handlers, closing/opening connections etc. Library performs some operations in multiple working threads, it also deals with sockets.
Strange thing - when I compile by benchmark test with VS 2005 and when I do the same with VS 2008 - I got different performance values (VS 2008 is 10% better).
What can cause the performance increase, if all my code uses only .NET 2.0 features, no language/features or libraries from 3.5 are used. My benchmark project refers only System.dll and 3rd party dll, and benchmark code is absolutely the same in VS2005 and VS2008 projects ?