码迷,mamicode.com
首页 > 系统相关 > 详细

linux c性能测试的时间间隔获取方法

时间:2017-11-28 18:38:48      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:ret   struct   间隔   开始   查看   内存   获取   结构   div   

一、clock_t clock(void)函数

  说明:clock_t其实就是long,即长整形。该函数返回值是硬件滴答数,要换算成毫秒或者秒。换算为毫秒需要除以1000,若换算为秒则除以CLOCKS_PER_SEC。在linux上,如果使用sleep函数,是不会计算在内的。如果处理器时间使用的是不可用的,或者它的值不能被表示,函数返回值为(clock_t)-1。具体查看以下例子(GCC编译):

 1 int main(int argc, char *arg[])
 2 {
 3         printf("CLOCKS_PER_SEC = %lf\n", (double)(CLOCKS_PER_SEC));
 4         clock_t time = clock();
 5         sleep(5);
 6         int i;
 7         for(i = 0; i < 1000000000; i++){}
 8         clock_t second_time = clock();
 9         printf("ms:%lf\n", (double)((second_time-time) / 1000));
10         printf("s:%lf\n", (double)((second_time-time) / CLOCKS_PER_SEC));
11 
12         return 0;
13 
14 }

二、time_t time(time_t *t)函数

说明:返回从1970年1月1日00:00:00开始到现在的秒数,如果t不为空,则将结果也保存在t指向的内存中。具体查看以下例子(GCC编译):

 1 int main(int argc, char *arg[])
 2 {
 3         int i;
 4         time_t first_time = time(NULL);
 5         for(i = 0; i < 1000000000; i++){}
 6         time_t second_time = time(NULL);
 7         printf("s:%lf\n", (double)(second_time-first_time));
 8 
 9         return 0;
10 
11 }

三、int gettimeofday(struct timeval *tv, struct timezone *tz) 函数

  说明: struct timeval{

        long tv_sec;   //秒

        long tv_usec;   //微秒

      };

  将目前的时间保存在tv指向的内存中,tz结构体设置为NULL即可。具体查看以下例子(GCC编译):

 1 int main(int argc, char *arg[])
 2 {
 3         struct timeval first_time, second_time;
 4         gettimeofday(&first_time, NULL);
 5         sleep(2);
 6         gettimeofday(&second_time, NULL);
 7         double time_val = (second_time.tv_sec - first_time.tv_sec) * 1000000 + second_time.tv_usec - first_time.tv_usec;
 8         printf("time_val(ms) = %lf\n", time_val / 1000.0);
 9 
10         return 0;
11 
12 }

 

linux c性能测试的时间间隔获取方法

标签:ret   struct   间隔   开始   查看   内存   获取   结构   div   

原文地址:http://www.cnblogs.com/baymaxsecret/p/7911265.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!