私はサードパーティのライブラリと、このライブラリのパフォーマンスをテストするために自分で書いた簡単なベンチマーク テストを持っています。サードパーティ ライブラリは C++/CLI .NET ライブラリであり、そこにあるほとんどのコードは管理されていません。このライブラリは、.NET Framework 2.0 用にアセンブルされています。私のベンチマーク テストは、ライブラリにオーバーヘッドをほとんど追加しない管理された C# コードであり、メソッドへの単純な呼び出し、イベント ハンドラーへのサブスクリプション、接続のクローズ/オープンなどのみを追加します。ライブラリは、複数の作業スレッドでいくつかの操作を実行し、ソケットも処理します。
奇妙なことに、VS 2005 でベンチマーク テストを行った場合と、VS 2008 で同じことを行った場合では、異なるパフォーマンス値が得られました (VS 2008 の方が 10% 優れています)。
すべてのコードが .NET 2.0 機能のみを使用し、3.5 の言語/機能またはライブラリが使用されていない場合、パフォーマンスが向上する原因は何ですか。私のベンチマーク プロジェクトは System.dll とサード パーティの dll のみを参照しており、ベンチマーク コードは VS2005 と VS2008 プロジェクトでまったく同じですか?