相关疑难解决方法(0)

如何使用.NET中的多个并发线程来衡量代码块(线程)执行时间

现在我们只是使用这样的东西

        stopWatch.Start();            
        try
        {
            method();
        }
        finally
        {
            stopWatch.Stop();
        }
Run Code Online (Sandbox Code Playgroud)

哪种方法适用于同步方法,但有些方法是异步执行的,因此在执行多个线程时时间会有所偏差.是否有相当于System.Diagnostics.Stopwatch,它只会测量当前线程的时间花费?

我们希望在我们的内部beta(alpha?)版本中长时间收集数据,并且在分析器的全时运行不是一个可行的选择.

编辑:为了澄清,我们只想测量执行method()所花费的时间,所以如果Method1()和Method2()都同时启动而Method1在2秒标记处完成而Method2在4秒标记处完成,我想要一些能告诉我Method1花费大约1秒执行而Method2花费大约3秒执行的东西(假设在前2秒内他们平均共享(假设单核)处理器.

.net c# performance multithreading measurement

6
推荐指数
1
解决办法
6332
查看次数

标签 统计

.net ×1

c# ×1

measurement ×1

multithreading ×1

performance ×1