У меня есть сторонняя библиотека и простой тест производительности, который я пишу сам, чтобы проверить эту библиотеку на производительность. Сторонняя библиотека - это библиотека 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?