0
與.NET 3.5相比,我在.NET 4中編譯的應用程序的執行速度似乎非常慢。當我進行性能分析時,我發現VS2010/.NET 4中的System.Math庫已經顯着減慢。.NET4/VS2010中System.Math庫的性能下降
對此有何解釋?有沒有其他人遇到過這個問題,還是我唯一看到這個的?
UPDATE:
我的示例代碼看起來是這樣的:
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。在.NET 4中,這同樣需要0.8秒。我在其他函數中也看到類似的性能問題,例如Truncate,Floor和Max等。
感謝, NIRANJAN
請顯示真實的數字,請指出它有趣的特定功能來分析。 – Restuta 2010-06-18 08:50:55
你在打什麼方法?用什麼輸入?你如何計時? – 2010-06-18 08:56:49
您的真實應用程序是否在循環中執行了4千萬次基本的數學運算? – 2010-06-18 14:22:05