【发布时间】:2016-02-28 14:18:36
【问题描述】:
我找到了这个代码here。如果我划分(t2-t1)/CLOCK_PER_SEC我会得到几秒钟的时间吗?如何找到 CLOCK_PER_SEC?有没有更好的方法来查找代码或函数的执行时间?
#include<time.h>
main()
{
clock_t t1=clock();
// Your code that takes more than 1 sec;
clock_t t2=clock();
printf("The time taken is.. %g ", (t2-t1));
..
【问题讨论】:
-
你能说为什么不赞成我的问题吗?
-
它是
CLOCKS_PER_SEC而不是CLOCK_PER_SEC,可以在time.h中找到。请参阅link in your link -
好吧thnx,但我认为这段代码找不到实时stackoverflow.com/questions/10455905/…。 Gsamaras 回答了它。
-
但是您没有要求“实时”。您的问题是“如何在 C 中找到代码的执行时间?”同样的道理,如果我花 30 分钟解决一个问题,2 小时购物,然后 30 分钟解决问题,我只花了 1 小时,而不是 3 小时。
-
找不到C代码的执行时间,因为C代码永远不会被执行。必须先编译 C 代码。然后执行的是编译后的代码。执行时间取决于您为哪种架构编译了代码,您使用了哪个编译器和哪些选项,以及您在哪个确切配置上运行编译代码的确切处理器派生。然后根据执行历史(缓存和管道状态),您的执行时间仍然可以变化几个数量级。更不用说中断了。基本上你的问题根本没有意义。