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 关注
- 108 浏览
添加回答
举报