避免 CPU 争用

Avoiding CPU Contention

本文关键字:争用 CPU 避免      更新时间:2023-10-16

我有一个程序,我想计算它的执行时间:

#include <iostream>
#include <boost/chrono.hpp>
using namespace std;
int main(int argc, char* const argv[])
{

     boost::chrono::system_clock::time_point start = boost::chrono::system_clock::now();
// Intructions to burn time 
    boost::chrono::duration<double> sec = boost::chrono::system_clock::now() - start;
    cout <<"---- time execution is " << sec.count() << ";";
    return 0;
}

例如,一次运行后的结果:

----时间执行为 0.0223588

这个结果不是很清醒,因为包括 CPU 时间 .

我有一个想法,通过测试多次运行并达到平均值来避免 CPU 争用。

问题是:

  • 如何存储上一次运行的时间值?

  • 我们可以通过文件做到这一点吗?

  • 如何在每次运行后增量计算平均值?

欢迎您的建议/伪代码。

您可以使用 2 个参数通过命令行传递平均数:当前平均值和执行的迭代次数。然后:新平均值 = ((当前平均值*N) + 当前值)/(N+1);其中 N 是迭代次数。