人工智能与机器人技术论坛

 找回密码
 立即注册
查看: 3420|回复: 1

c语言程序运行时间 time.h

[复制链接]

82

主题

143

帖子

1024

积分

金牌会员

Rank: 6Rank: 6

积分
1024
发表于 2018-12-25 21:00:43 | 显示全部楼层 |阅读模式
本帖最后由 airobotnews 于 2018-12-25 21:03 编辑

在很多情况下,为了评判某个算法,函数的优劣,特别是比较同一个功能的两个函数的效率高低时,我们经常通过计算耗费时间作为判断标准。C语言中有两个相关的函数用来计算时间差,分别是:
time_t time( time_t *t)   与 clock_t clock(void)
头文件: time.h
计算的时间单位分别为: s   , ms
time_t 和 clock_t 是函数库time.h 中定义的用来保存时间的数据结构。
返回值:1、time  : 返回从公元1970年1月1号的UTC时间从0时0分0秒算起到现在所经过的秒数。如果参数 t 非空指针的话,返回的时间会保存在 t 所指向的内存。
2、clock:返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数。     1单元 = 1 ms。
所以我们可以根据具体情况需求,判断采用哪一个函数。

具体用法如下例子:
  1. #include <time.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>

  4. int main()
  5. {
  6.         time_t c_start, t_start, c_end, t_end;

  7.         c_start = clock();    //!< 单位为ms
  8.         t_start = time(NULL);  //!< 单位为s
  9.         system("pause");
  10.         c_end   = clock();
  11.         t_end        = time(NULL);

  12.         //!<difftime(time_t, time_t)返回两个time_t变量间的时间间隔,即时间差
  13.         printf("The pause used %f ms by clock()\n",difftime(c_end,c_start));
  14.         printf("The pause used %f s by time()\n",difftime(t_end,t_start));
  15.         system("pause");

  16.         return 0;
  17. }
复制代码
例子2
  1. #include <stdio.h>
  2. #include <time.h>
  3. typedef unsigned char LBYTE;
  4. typedef unsigned short LWORD;
  5. typedef unsigned int LDWORD;
  6. typedef int LLONG;
  7. int main ()
  8. {
  9.           time_t c_start, t_start, c_end, t_end;
  10.           c_start = clock();//开时间 ms
  11.          t_start = time(NULL);  //!< 单位为s
  12.   
  13.     int i;
  14.        for(i;i<100;i++);
  15.       
  16.              c_end   = clock();
  17.         t_end        = time(NULL);
  18.             printf("The pause used %f ms by clock()\n",difftime(c_end,c_start));
  19.         printf("The pause used %f s by time()\n",difftime(t_end,t_start));

  20.     return 0;
  21. }
复制代码





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|AiRobotNews.com|人工智能与机器人技术论坛  

GMT+8, 2024-3-29 16:57 , Processed in 0.088755 second(s), 5 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表