2 回答

TA貢獻1804條經驗 獲得超7個贊
for
幾十年來我一直在使用這樣的循環。而且我從來沒有經歷過,這樣的for
-loop 是第一次迭代期間延遲的原因。
我對你的實施一無所知Thing
,但我很確定你延遲的原因就在那里。不在循環中。

TA貢獻1982條經驗 獲得超2個贊
將整個循環體復制到 “修復”之外為我
Thing thing = createThing(1);
DateTime startTime = DateTime.Now;
thing.ComputationallyExpensiveOp();
TimeSpan elapsed = DateTime.Now - startTime;
Console.WriteLine(String.Format("i = " + 1 + "\ttime = " + elapsed.TotalMilliseconds);
for (int i = 1; i <= 1000; i++)
{
thing = createThing(i);
startTime = DateTime.Now;
thing.ComputationallyExpensiveOp();
elapsed = DateTime.Now - startTime;
Console.WriteLine(String.Format("i = " + i + "\ttime = " + elapsed.TotalMilliseconds);
}
我不太確定原因,但現在第一次迭代的運行時間更符合預期。
- 2 回答
- 0 關注
- 95 瀏覽
添加回答
舉報