Мое приложение, скомпилированное в .NET 4, работает очень медленно по сравнению с .NET 3.5.Когда я провел анализ производительности, я обнаружил, что библиотеки System.Math в VS2010 / .NET 4 значительно замедлились.
Есть объяснения этому?Кто-нибудь еще сталкивался с этим или я только один это вижу?
ОБНОВЛЕНИЕ:
Мой пример кода выглядит так:
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 1000000; j++)
{
Min((double) ((j + 1) / 2), (double) ((j + 2) / 2));
}
for (int k = 0; k < 1000000; k++)
{
Min((double) ((k + 2) / 2), (double) ((k + 3) / 2));
}
for (int m = 0; m < 1000000; m++)
{
Min((double) ((m + 3) / 2), (double) ((m + 4) / 2));
}
for (int n = 0; n < 1000000; n++)
{
Min((double) ((n + 4) / 2), (double) ((n + 5) / 2));
}
}
Приведенный выше код занимает 0,55секунд в рамках 3.5.То же самое занимает 0,8 секунды в .NET 4. Подобные проблемы с производительностью, которые я видел в других функциях, таких как Truncate, Floor и Max и др.
Спасибо, Niranjan