我測試在C#中某些情況下,考慮一些要領的表現, 當我在測試中,我面臨着一個奇怪的情況下C#性能怪異的情況下
for (int i = 0; i < 30; i++)
{
DateTime d = DateTime.Now;
print();
result.Add ((DateTime.Now - d));
}
foreach(TimeSpan t in result)
Console.WriteLine(t.ToString());
而打印功能很乾脆:
public static void print()
{
for (int i = 0; i < 10000; i++)
{
Console.WriteLine(string.Format("{0}", i));
}
}
我對結果感到震驚,而前三個循環耗時約5秒,而之後耗時約0.5秒。 下面是一些:
00:00:05.6212696
00:00:05.6072002
00:00:05.5837965
00:00:01.9451673
00:00:00.5526335
00:00:00.5540554
00:00:00.5676418
00:00:00.5372442
00:00:00.5772550
我只是想知道爲什麼它的第三次迭代後得到了近10倍更好?
每次運行它都會發生嗎? – GazTheDestroyer 2012-02-22 08:43:57
這個問題可以重現嗎?當我測試時,我的結果在0.81和1.14秒之間。 – 2012-02-22 08:49:30
是的@GazTheDestroyer先生和薩拉曼先生它似乎像Tigran說,它可以從個人電腦到個人電腦 – Hilmi 2012-02-22 10:25:12