我想了解爲什麼在循環中的first iteration
比其餘的更快。爲什麼第一次迭代總是比下一個循環更快?
Stopwatch sw = new Stopwatch();
sw.Start();
for(int i=0; i<10; i++)
{
System.Threading.Thread.Sleep (100);
Console.WriteLine ("Finished at : {0}", ((double) sw.ElapsedTicks/Stopwatch.Frequency) * 1e3);
}
當我執行的代碼,我得到如下:
起初我以爲這可能是由於Stopwatch類的準確率,但後來爲什麼它僅適用於第一個元素?糾正我,如果我失去了一些東西。
幾乎沒有那麼慢? – Ric 2014-09-30 15:13:10
它實際上是一個跳躍和增量執行每一步,除了第一個。 – Maku 2014-09-30 15:14:36
我真的沒有看到區別。循環中的每次迭代大約需要100ms! – 2014-09-30 19:39:15