gpt4 book ai didi

c# - 我们如何降低 myProcess.TotalProcessorTime 的分辨率?

转载 作者:太空宇宙 更新时间:2023-11-03 13:09:20 25 4
gpt4 key购买 nike

我正在使用 TotalProcessorTime 通过 cpu 中的方法来测量时间加速。

for(int i=0;i<10;i++){
double s = Process.getCurrentProcess().TotalProcessorTime;
primeNumber(500); //return the 500 primenumber
doube e = Process.getCurrentProcess().TotalProcessorTime;
Console.writeLine(e-s);
}

输出如下:015,000115,0001032,0002015,0001015,0001

所以所有输出都是 15,6001 的倍数,分辨率非常高。

那么我们如何才能将这个分辨率降低到 1,2,6,5,2 这样的值呢?

为什么相同的代码会给出不同的值 0 15,6001 32,0002 ?

最佳答案

我几乎可以肯定您会想要使用 StopwatchQueryPerformanceCounter 或类似的东西来满足您的需求。但是,可以修改 TotalProcessorTime 的粒度:

粒度/分辨率由系统计时器分辨率决定。这Accurate Windows timer?...答案显示了如何获取和修改系统计时器分辨率。给出了编码示例 here (c) 和 here (c#).

关于c# - 我们如何降低 myProcess.TotalProcessorTime 的分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29676704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com