现在我们只使用这样的东西
stopWatch.Start();
try
{
method();
}
finally
{
stopWatch.Stop();
}
这对于同步方法很有效,但有些是异步执行的,因此在执行多个线程时时间会出现偏差。是否有与 System.Diagnostics.Stopwatch 等效的仅测量当前线程中花费的时间?
我们希望在我们的内部测试版(alpha?)版本中收集较长时间的数据,并且在分析器下全职运行不是一个可行的选择。
编辑:为了澄清,我们只想测量执行 method() 所花费的时间,所以如果 Method1() 和 Method2() 同时开始并且 Method1 在 2 秒标记处完成, Method2 在 4 秒标记处完成,我想要的东西会告诉我 Method1 花了大约 1 秒执行,Method2 花了大约 3 秒执行(假设在前 2 秒内他们平等地共享(假设为单核)处理器。