欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
}