C 中的函数 clock()
Function clock() in C
在研究位于time.h的clock()函数时,我问自己一个问题,做一个简单的程序看看它是如何工作的。 运行 这个程序显示的结果是 0,而我的预期是 2,我很惊讶。我哪里错了?
int main(int argc, char const *argv[]){
int msec = 0;
clock_t before = clock();
sleep(2);
clock_t difference = clock() - before;
msec = difference * 1000 / CLOCKS_PER_SEC;
printf("Time taken %d seconds\n",msec/1000);
}
clock
测量程序使用的处理器时间。您的程序在休眠时不使用处理器时间。您程序的其余部分使用不到一毫秒的时间。
要测量“挂钟”或“真实世界”时间,请使用 time
,并使用 difftime
减去 time_t
值,[=12= 返回的类型]:
#include <stdio.h>
#include <time.h>
#include <unistd.h>
int main(int argc, const char *argv[])
{
time_t before = time(NULL);
sleep(2);
double difference = difftime(time(NULL), before);
printf("The time taken was %g seconds.\n", difference);
}
在研究位于time.h的clock()函数时,我问自己一个问题,做一个简单的程序看看它是如何工作的。 运行 这个程序显示的结果是 0,而我的预期是 2,我很惊讶。我哪里错了?
int main(int argc, char const *argv[]){
int msec = 0;
clock_t before = clock();
sleep(2);
clock_t difference = clock() - before;
msec = difference * 1000 / CLOCKS_PER_SEC;
printf("Time taken %d seconds\n",msec/1000);
}
clock
测量程序使用的处理器时间。您的程序在休眠时不使用处理器时间。您程序的其余部分使用不到一毫秒的时间。
要测量“挂钟”或“真实世界”时间,请使用 time
,并使用 difftime
减去 time_t
值,[=12= 返回的类型]:
#include <stdio.h>
#include <time.h>
#include <unistd.h>
int main(int argc, const char *argv[])
{
time_t before = time(NULL);
sleep(2);
double difference = difftime(time(NULL), before);
printf("The time taken was %g seconds.\n", difference);
}