C语言程序执行时间计时方法汇总
2021/7/5 9:20:30
本文主要是介绍C语言程序执行时间计时方法汇总,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
C语言中程序计时方法总结
主流方法共分为如下三种
1. clock()函数
需要引用头文件 “time.h”
注:clock函数返回从开始这个程序到调用的 clock() 函数之间的CPU时钟计时单元(clock tick)数。返回值类型是 clock_t。其中 CLOCKS_PER_SEC 是一个常数,表示一秒钟有多少个时钟数。
代码:
1 #include<time.h> 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<time.h> 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<sys/time.h> 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() 方法,第二种方法由于精确度有限,不推荐使用。
这篇关于C语言程序执行时间计时方法汇总的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-29易优CMS安装常见问题汇总-icode9专业技术文章分享
- 2024-06-28易优新手必读安装教程-icode9专业技术文章分享
- 2024-06-28忘记eyoucms后台密码怎么办?-icode9专业技术文章分享
- 2024-06-26终极指南:Scrum中如何设置需求优先级
- 2024-06-26AI大模型企业应用实战(25)-为Langchain Agent添加记忆功能
- 2024-06-26小白家庭 nas 搭建方案-icode9专业技术文章分享
- 2024-06-23AI大模型企业应用实战(14)-langchain的Embedding
- 2024-06-23AI大模型企业应用实战(15)-langchain核心组件
- 2024-06-23AI大模型企业应用实战(16)-langchain核心组件
- 2024-06-23AI 大模型企业应用实战(06)-初识LangChain