c语言中 一条可执行语句的运行时间怎么测试?

lilililll 2004-06-25 03:17:33
c语言中 一条可执行语句的运行时间怎么测试?
...全文
911 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hcj2002 2004-06-26
  • 打赏
  • 举报
回复
http://blog.csdn.net/hcj2002/archive/2004/06/13/17305.aspx
lilililll 2004-06-26
  • 打赏
  • 举报
回复
谢谢大家!
xjp6688 2004-06-25
  • 打赏
  • 举报
回复
up
peter9606 2004-06-25
  • 打赏
  • 举报
回复
hoho 这个。。。。误差太大了吧
huanmm 2004-06-25
  • 打赏
  • 举报
回复
#include <time.h>

main() {
clock_t start, end;
……
start = clock();
f();
end = clock();
printf("\nSpend time was: %ld\n", end - start);
……
}
Hillside 2004-06-25
  • 打赏
  • 举报
回复 1
这个问题说难就难,说简单就简单,问题是,你的这一条语句执行时间的量级是多少?
如果你的语句调用了一个大型循环的函数,你可以使用时钟等办法计时。但如果你的语句非常简单,也许就只有几十条机器指令,时钟是没用的。这种情况下,你可以列出所有的汇编代码,查找到有关Intel硬件手册,计算出每一条汇编指令的执行时间,再累计它们。但这也是大概估计,因为你不能知道你的代码执行时插入了多少中断。看来,短时间语句是无解的。在Windows下,时钟的最大分辨率是1毫秒。计时函数使用API GetTickCount(VOID)比较方便,在2个时间点调用它,得到的值相减是流逝的毫秒数。
lbaby 2004-06-25
  • 打赏
  • 举报
回复
高精度的计时无法摆脱对系统的依赖
而在不同的系统下,计时用的api又是不同的

参看:
http://www-900.cn.ibm.com/developerWorks/cn/linux/sdk/rt/part1/index.shtml
groock 2004-06-25
  • 打赏
  • 举报
回复
同意楼上
Allemand 2004-06-25
  • 打赏
  • 举报
回复
语句前后各来一个时钟中断,获取系统时钟,然后再减,再减一个中断响应时间.
kaphoon 2004-06-25
  • 打赏
  • 举报
回复
用clock_t精度高一点
clock_t old = clock();
.....

clock_t new = clock();

eronic 2004-06-25
  • 打赏
  • 举报
回复
用time函数可以把

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧