【发布时间】:2010-09-06 22:00:57
【问题描述】:
我需要找到一个瓶颈,并且需要尽可能准确地测量时间。
下面的代码 sn -p 是衡量性能的最佳方法吗?
DateTime startTime = DateTime.Now;
// Some execution process
DateTime endTime = DateTime.Now;
TimeSpan totalTimeTaken = endTime.Subtract(startTime);
【问题讨论】:
-
顺便说一句,如果您不是在寻找快速而肮脏的性能计数器,可以使用。
-
如果您需要更高的精度,请使用 Stopwatch.GetTimestamp,否则答案是好的。
-
@dbasnett 你能详细回答一下吗?
-
在上面的示例中,将 start 和 endtime 更改为 long 并将 Stopwatch.GetTimestamp 分配给它们而不是 DateTime.Now。所用时间为(end-start)/Stopwatch.Frequency。
-
“最佳”是主观的。这个问题需要客观地定义什么是“最好”。
标签: c# .net performance datetime timer