我测试在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