我需要计算运行某个函数所需的时间,并运行到下面的代码中,logging并输出一段代码的执行时间(纳秒)
而且还有什么区别
struct timeval timer_spent
& timeval timer_spent
/* Put this line at the top of the file: */ #include <sys/time.h> /* Put this right before the code you want to time: */ struct timeval timer_start, timer_end; gettimeofday(&timer_start, NULL); /* Put this right after the code you want to time: */ gettimeofday(&timer_end, NULL); double timer_spent = timer_end.tv_sec - timer_start.tv_sec + (timer_end.tv_usec - timer_start.tv_usec); printf("Time spent: %.6f\n", timer_spent)/1000000.0;
但是我需要精确的时间(纳秒)。 我没有完整的关于timeval结构的想法。
所以好心帮助我的家伙..!
但是我需要精确的时间(纳秒)。
然后使用
int clock_gettime(clockid_t clk_id, struct timespec *tp);
它以秒和纳秒为单位返回时间
struct timespec { time_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ };
有用的链接: