C语言程序执行时间计时方法汇总 您所在的位置:网站首页 c语言在线测试 C语言程序执行时间计时方法汇总

C语言程序执行时间计时方法汇总

2024-07-15 06:16| 来源: 网络整理| 查看: 265

C语言中程序计时方法总结

主流方法共分为如下三种

1. clock()函数

需要引用头文件 “time.h”

注:clock函数返回从开始这个程序到调用的 clock() 函数之间的CPU时钟计时单元(clock tick)数。返回值类型是 clock_t。其中 CLOCKS_PER_SEC 是一个常数,表示一秒钟有多少个时钟数。

代码:

1 #include 2 3 int main(){ 4 clock_t start, end; 5 start = clock(); 6 7 /*... 8 需要计时的代码 9 ...*/ 10 11 end = clock(); 12 printf("time=%f\n", (double)(end - start) / CLOCKS_PER_SEC); 13 return 0; 14 }

使用场景:建议在Windows环境下使用

2. time(), difftime() 函数

返回从1970年1月1日00:00:00到现在经过的秒数

注:建议使用 difftime() 来计算程序执行所花时间(更精确,单位:s)

代码:

1 #include 2 3 int main(){ 4 time_t start,end; 5 start = time(NULL); 6 7 /*... 8 需要计时的代码 9 ...*/ 10 11 end = time(NULL); 12 printf("time = %ds\n", difftime(end, start)); 13 return 0; 14 }

 

3. gettimeoftoday() 函数

函数原型:int gettimeofday(struct timeval *tv, struct timezone *tz)

1.该函数是 Linux 系统专属函数,可以精确到微秒 (us);

2.其中参数tv是保存获取时间的结果类型,参数tz用于保存时区结果 (若不使用可以传入NULL)。

代码:

1 #include 2 3 int mian(){ 4 struct timeval start,end; 5 gettimeofday(&start, NULL); 6 7 /*... 8 需要计时的代码 9 ...*/ 10 11 gettimeofday(&end, NULL); 12 long timeuse = 1000000*(end.tv_sec - start.tv_sec) + end.tv_usec-start.tv_usec; 13 printf("time =%f 秒\n", timeuse/1000000) 14 return 0; 15 }

 

总结

Linux环境下优先使用 gettimeoftoday() 方法,Windows或其他环境推荐使用 clock() 方法,第二种方法由于精确度有限,不推荐使用。

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有