我正在尝试性能测试一些代码.我正在使用秒表.当我输出毫秒数时,它总是告诉我0所以我认为我会尝试滴答数.我看到滴答的数量大约是20 000到30 000.在TimeSpan.TicksPerMillisecond上查看MSDN,它表示每毫秒有10 000个滴答.在那种情况下,为什么我的秒表上经过的毫秒没有显示为2或3?
我错过了什么?我甚至在同一条线上输出了结果.这就是我得到的.
Time taken: 26856 ticks, 0 ms
Run Code Online (Sandbox Code Playgroud)
它是不变的.
编辑(添加了一些代码)这是我在循环中运行的代码.我意识到我每次都在创造一个新的秒表,效率不高但我不知道它会如何扭曲我的结果.多谢你们
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))
Run Code Online (Sandbox Code Playgroud)
Joe*_*Joe 10
Stopwatch
蜱虫与DateTime
蜱虫不同.
Stopwatch
刻度的长度取决于秒表频率(一个刻度是一秒除以频率,如秒表的MSDN文档中所述.ElapsedTicks.
可以认为,Stopwatch.ElapsedTicks
由于可能会与DateTime标记混淆,因此该属性的名称选择不佳.我会喜欢ElapsedRawTicks或其他一些合适的形容词限定词来暗示这些不是标准的Ticks.
归档时间: |
|
查看次数: |
836 次 |
最近记录: |