2 回答

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

TA貢獻1982條經(jīng)驗 獲得超2個贊
將整個循環(huán)體復制到 “修復”之外為我
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);
}
我不太確定原因,但現(xiàn)在第一次迭代的運行時間更符合預期。
- 2 回答
- 0 關(guān)注
- 104 瀏覽
添加回答
舉報