- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试对一些代码进行性能测试。我正在使用秒表。当我输出毫秒数时,它总是告诉我 0,所以我想我应该尝试滴答数。我看到刻度数约为 20 000 到 30 000。查看 MSDN 的 TimeSpan.TicksPerMillisecond,它说每毫秒有 10 000 个刻度。那么为什么我的秒表上经过的毫秒数没有显示为 2 或 3?
我错过了什么?我什至在同一行输出了结果。这就是我得到的。
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))
最佳答案
Stopwatch
刻度与DateTime
刻度不同。
Stopwatch
刻度的长度取决于秒表频率(一刻度等于一秒除以频率,如 the MSDN documentation for Stopwatch.ElapsedTicks 中所述。
可以说,Stopwatch.ElapsedTicks
是该属性的一个糟糕的名称选择,因为可能会与 DateTime 刻度混淆。我更喜欢 ElapsedRawTicks 之类的东西,或者其他一些合适的形容词限定符来暗示这些不是标准的 Ticks。
关于.net - 为什么 .NET 秒表的 ElapsedTicks * 10 000 不等于 ElapsedMilliseconds?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3007501/
我可以使用 ElapsedMilliseconds 在秒表上调用 Start 而不调用 Stop 来获取耗时吗?我在互联网上搜索了很多,但只看到在 Stop 之后调用 ElapsedMilliseco
这个问题在这里已经有了答案: Stopwatch vs. using System.DateTime.Now for timing events [duplicate] (3 个答案) 关闭 9 年
我正在尝试对一些代码进行性能测试。我正在使用秒表。当我输出毫秒数时,它总是告诉我 0,所以我想我应该尝试滴答数。我看到刻度数约为 20 000 到 30 000。查看 MSDN 的 TimeSpan.
我对这 4 个完全困惑。ElapsedMilliseconds (long)、ElapsedTicks (long)、Elapsed.TotalMilliseconds (double) 和 Elap
我是一名优秀的程序员,十分优秀!