📅  最后修改于: 2020-09-26 15:51:40             🧑  作者: Mango
为了计算处理器时间,使用了两个不同的Clock()调用返回的值之间的差,其中一个在程序的开头,另一个在程序的结尾。要将值转换为秒,需要用宏CLOCKS_PER_SEC除 。
clock()时间可能比实际的壁钟快或慢。这取决于操作系统如何为该进程分配资源。
如果处理器由其他进程共享,则clock()时间的前进速度可能会比挂钟慢。如果当前进程是在多线程系统中执行的,则clock()的时间可能比挂钟的时间快。
clock_t 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