c# - 如何以编程方式计算 CPU 利用率?

标签 c# entity-framework benchmarking

我有一个基准测试程序,可以计算时间(以毫秒和滴答为单位),以持久化到 Entity Framework 4.0。有没有办法计算 CPU 负载?我猜我需要查询 Windows 来找出我的 CPU 频率、多少个内核等。这听起来对吗?如果是这样,.NET 框架的哪一部分与查询系统有关?我在猜测 System.Diagnostics?

谢谢,

斯科特

最佳答案

您可以使用 PerformanceCounter(用于系统负载)。

或者,更好的是:

var p = System.Diagnostics.Process.GetCurrentProcess();
var span = p.TotalProcessorTime;

您必须将其与挂钟时间相关联才能获得百分比。另请参阅 UserProcessorTime。


编辑:

再想一想,如果您想进行基准测试,您是否宁愿只测量执行一段代码(例如 System.Diagnostics.Stopwatch 类)所用的时间?

关于c# - 如何以编程方式计算 CPU 利用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2608727/

相关文章:

c# - Nhibernate GetById 返回 ObjectNotFoundException insetad of null

c# - EntityFramework 6.0.0.0 读取数据,但不插入

c# - 在这种情况下,为什么 .NET 比 C++ 快?

c# - ICommand 不将更改推送到 Windows UWP 中的 UI

c# - 如何将匿名类型强制转换为指定的强制转换以获取其所有属性

c# - 在特定时间从数据库执行事件的最佳方法

c# - Override get, set 在 Entity Framework Database First

entity-framework - 如何根据 Entity Framework 中的Id列表获取平均值

c - 微基准测试显示进程切换比线程切换更快;怎么了?

c - 什么是基准测试和压力测试子字符串搜索算法的好测试用例?