我在c中写了一些基本的东西,执行shell脚本需要多长时间。
我有
gettimeofday(&start, NULL);
// code here
gettimeofday(&end, NULL);
// print end - start
我知道timeval结构有tv_sec和tv_usec,但是对于像“睡眠3”这样的脚本来说,我仍然为这个结果得到0 - 开始差异。有没有猜到为什么?
答案 0 :(得分:1)
您应该阅读:gettimeofday() should never be used to measure time
请尝试clock_gettime(CLOCK_MONOTONIC, ...)
。
答案 1 :(得分:0)
试试这个例子:
double dtime(){
double t;
struct timeval tv;
gettimeofday(&tv, NULL);
t = tv.tv_sec + ((double)tv.tv_usec)/1e6;
return t;
}
…
double t0 = dtime();
…
printf("Time spend: %g seconds\n", dtime()-t0);