如何使用PerformanceCounter测量方法的cpu时间



我想测量方法的cpu时间不使用StopWatch或Process,而是使用.NET探查器PerformanceCounter。

我看到他们是计算进程使用了多少cpu的唯一方法

PerformanceCounter cpuCounter = new PerformanceCounter("Process", "% Processor Time", ProcessName);
CounterSample cs1 = cpuCounter.NextSample();

但我正在寻找在使用这个API的过程中花费的所有时间。

恐怕这是不可能的。PerformanceCounter用于读取系统进程信息。系统没有关于您在流程中实际做了什么的信息。

在单线程应用程序中,您可以使用PerformanceCounter并从方法执行的开始到结束选择值(只需在调用方法之前调用NextSample一次,然后收集调用它的结果)。

作为一种非编程方法,您可以使用Visual Studio性能评测工具来收集有关应用程序在哪种方法上花费了多少时间的更多信息。它为您提供了有关应用程序cpu消耗的非常深入的信息。这里简单介绍一下。

最新更新