我正在尝试对一些代码进行性能测试,使用了秒表。当我输出毫秒数时,总是显示为0,所以我尝试使用计时器的“tick”数。我发现“tick”数大约为20,000到30,000。查看MSDN中TimeSpan.TicksPerMillisecond,它表示每毫秒10,000个“tick”。那么为什么我的秒表经过的时间不是2或3毫秒呢?我错过了什么吗?我甚至在同一行上输出结果,但得到的结果仍然是0。
Time taken: 26856 ticks, 0 ms
而且它是恒定的。
这是我在循环中运行的代码。我意识到每次都会创建一个新的秒表,这不是很高效,但我不认为它会影响我的结果。
Dim SW = New Stopwatch()
SW.Reset()
SW.Start()
MethodCall()
SW.Stop()
Console.WriteLine(String.Format("Time to increase counters: {0} ticks, {1} ms", SW.ElapsedTicks, SW.ElapsedMilliseconds))