c语言linux打印运行时间(耗时) gettimeofday()timeval<sys/time.h>
Posted Dontla
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言linux打印运行时间(耗时) gettimeofday()timeval<sys/time.h>相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
#include <sys/time.h>
double __get_us(struct timeval t)
return (t.tv_sec * 1000000 + t.tv_usec);
int main()
struct timeval start_time, stop_time;
gettimeofday(&start_time, NULL);
//待运行代码
gettimeofday(&stop_time, NULL);
printf("Time use %f ms\\n", (__get_us(stop_time) - __get_us(start_time)) / 1000);
示例(在ubuntu16.04上):
test.c
#include <stdio.h> //使用printf()需要包含
#include <sys/time.h>
#include <unistd.h> //使用sleep()函数需要包含
double __get_us(struct timeval t)
return (t.tv_sec * 1000000 + t.tv_usec);
int main()
struct timeval start_time, stop_time;
gettimeofday(&start_time, NULL);
//待运行代码
sleep(1);
gettimeofday(&stop_time, NULL);
printf("Time use %f ms\\n", (__get_us(stop_time) - __get_us(start_time)) / 1000);
编译运行结果:
[root@ubuntu /arnold_test/20211227_TEST]12# gcc test.c
[root@ubuntu /arnold_test/20211227_TEST]13# ./a.out
Time use 1000.994000 ms
参考文章:C语言linux gettimeofday()函数和time()函数的区别(后者只能得到秒级系统时间,前者能得到毫秒甚至微秒级系统时间)
以上是关于c语言linux打印运行时间(耗时) gettimeofday()timeval<sys/time.h>的主要内容,如果未能解决你的问题,请参考以下文章