Linux下计算程序的运行时间间隔
程序员文章站
2024-01-23 18:34:22
...
/*clock计算的是程序的时间间隔,gettimeofday计算的是当前程序运行到此函数的时刻*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/time.h>
#include <unistd.h>
void hello_world(void)
{
printf("Hello world!!!!\r\n");
sleep(1);
}
int four_fun_test(void)
{
struct timeval tv_begin,tv_end;
gettimeofday(&tv_begin, NULL);
hello_world();
gettimeofday(&tv_end, NULL);
printf("tv_begin_sec:%d\n", tv_begin.tv_sec);
printf("tv_begin_usec:%d\n", tv_begin.tv_usec);
printf("tv_end_sec:%d\n", tv_end.tv_sec);
printf("tv_end_usec:%d\n", tv_end.tv_usec);
return 0;
}
clock_t second_time_func()
{
clock_t second_time = clock();
return second_time;
}
int three_time_fun()
{
time_t timep;
time (&timep);
printf("%s",asctime(gmtime(&timep)));
}
int main(int argc, char *arg[])
{
int i;
printf("CLOCKS_PER_SEC = %lf\n", (double)(CLOCKS_PER_SEC));
clock_t time = clock();
for(i = 0; i < 1000000000; i++){}
clock_t second_time = second_time_func();
printf("ms:%lf\n", (double)((second_time-time) / 1000));
printf("s:%lf\n", (double)((second_time-time) / CLOCKS_PER_SEC));
three_time_fun();
four_fun_test();
return 0;
}