博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C_使用clock()函数获取程序执行时间
阅读量:5805 次
发布时间:2019-06-18

本文共 1330 字,大约阅读时间需要 4 分钟。

clock():捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick ,即“时钟打点”。

常数CLK_TCK:机器时钟每秒所走的时钟打点数。

1 #include 
2 #include
3 4 colck_t start, stop; 5 /* clock_t 是clock() 函数返回的变量类型*/ 6 7 double duration; 8 /* 记录被测函数运行时间,以秒为单位*/ 9 10 int main()11 {12 /*不在测试范围内的准备工作写在clock()调用之前*/13 start = clock(); /* 开始计时 */14 MyFunction(); /* 把被测函数加在这里 */15 stop = clock(); /* 停止计时 */16 duration = ((double)(stop - start))/CLK_TCK;17 18 /* 其他不在测试范围的处理写在后面,eg:输出duration的值*/19 }

实验_eg:执行下面打印一次“Hello World!”的时间

     注意:因为程序执行的太快,所以显示为0;

1 #include 
2 #include
3 void hello(); 4 int main(){ 5 clock_t start, stop; 6 double duration; 7 start = clock(); 8 hello(); 9 stop = clock();10 duration = ((double)(stop - start))/CLK_TCK;11 printf("该程序运行的时间是:%f\n",duration);12 return 0;13 }14 void hello(){15 printf("Hello World!\n");16 }

 

解决方案:让被测函数重复运行充分多次,使得测出的总的时钟打点间隔充分长,最后计算被测函数平均运行的时间。

1 #include 
2 #include
3 4 #define MAXK 1e5 /* 被测函数最大重复调用次数 */ 5 6 void hello(); 7 int main(){ 8 int i; 9 clock_t start, stop;10 double duration;11 start = clock();12 for(i=0; i

 

转载于:https://www.cnblogs.com/LinSL/p/7475001.html

你可能感兴趣的文章
JQuery那点事 -- Deferred(Promise的实现)
查看>>
Java序列化的状态
查看>>
《提升敏捷回顾》作者访谈录
查看>>
C# API中的模型和它们的接口设计
查看>>
两面看问题:区块链与伦理人权
查看>>
7道常见的数据分析面试题
查看>>
物联网技术周报第 137 期: 使用 Amazon FreeRTOS 和 ESP32 将设备连接到云端
查看>>
最新的Java SE平台和JDK版本发布计划
查看>>
REST是新SOAP?
查看>>
OpsRamp推出AIOps推理引擎
查看>>
org.jasig.cas.client校验
查看>>
[leetcode]Longest Increasing Subsequence
查看>>
PHP_底层分析
查看>>
js-csp 可以开始尝试了
查看>>
【笔记】Network Evaluation——零碎
查看>>
web 安全入门
查看>>
【腾讯Bugly干货分享】H5 视频直播那些事
查看>>
读取@RequestMapping生成路径列表
查看>>
php处理Excel
查看>>
Erlang/Elixir: 使用 Leex 和 Yecc 解析领域语言(DSL)
查看>>