我有一个while
循环,它只是调用一个方法。我在循环外面放了一个计时器,另一个计时器则逐步累加循环内方法调用所需的时间。外部计时器大约需要17秒,内部计时器的总时间为40毫秒。这个循环执行了50,000次。以下是代码示例:
long InnerTime = 0;
long OutterTime = 0;
Stopw1.Start();
int count = 1;
while (count <= TestCollection.Count) {
Stopw2.Start();
Medthod1();
Stopw2.Stop();
InnerTime = InnerTime + Stopw2.ElapsedMilliseconds;
Stopw2.Reset();
count++;
}
Stopw1.Stop();
OutterTime = Stopw1.ElapsedMilliseconds;
Stopw1.Reset();
非常感谢您的帮助。 Massimo
TestCollection
是什么 - 是一个方法、变量/属性还是其他什么?尝试用常量替换TestCollection.Count
(显然要低到不会出错)。 - Jon Egertonint countLimit = TestCollection.Count
并在条件语句中使用 countLimit。如果集合非常动态,这可能是一个相当昂贵的计算。 - JamieSee