📜  C++ clock()

📅  最后修改于: 2020-09-26 15:51:40             🧑  作者: Mango

C++中的clock() 函数返回程序消耗的大约处理器时间。

 

为了计算处理器时间,使用了两个不同的Clock()调用返回的值之间的差,其中一个在程序的开头,另一个在程序的结尾。要将值转换为秒,需要用宏CLOCKS_PER_SEC除

clock()时间可能比实际的壁钟快或慢。这取决于操作系统如何为该进程分配资源。

如果处理器由其他进程共享,则clock()时间的前进速度可能会比挂钟慢。如果当前进程是在多线程系统中执行的,则clock()的时间可能比挂钟的时间快。

clock()原型

clock_t clock();

它在头文件中定义。

clock()参数

clock()返回值

示例:clock() 函数的工作方式

#include 
#include 
#include 
using namespace std;

int main ()
{
    float x,y;
    clock_t time_req;

    // Using pow function
    time_req = clock();
    for(int i=0; i<100000; i++)
    {
        y = log(pow(i,5));
    }
    time_req = clock() - time_req;
    cout << "Using pow function, it took " << (float)time_req/CLOCKS_PER_SEC << " seconds" << endl;
    
    // Without pow function
    time_req = clock();
    for(int i=0; i<100000; i++)
    {
        y = log(i*i*i*i*i);
    }
    time_req = clock()- time_req;
    cout << "Without using pow function, it took " << (float)time_req/CLOCKS_PER_SEC << " seconds" << endl;

    return 0;
}

运行该程序时,输出为:

Using pow function, it took 0.014743 seconds

Without using pow function, it took 0.001357 seconds