现在我们只是使用类似这样的东西
stopWatch.Start();
try
{
method();
}
finally
{
stopWatch.Stop();
}
对于同步方法来说,这很好运作,但有些方法是异步执行的,因此当多个线程同时执行时,时间会错乱。是否有一种类似于System.Diagnostics.Stopwatch的东西,只会测量当前线程中花费的时间?
我们想在内部测试版本中收集数据一段时间,全天运行分析器并不可行。
编辑:澄清一下,我们只想测量执行method()所花费的时间,因此如果Method1()和Method2()同时开始,并且Method1在第2秒完成,而Method2在第4秒完成,我想要的是告诉我Method1大约花费了1秒执行,而Method2花费了大约3秒执行(假设在前两秒它们平均共享了单核处理器)。