如何获取我的代码的运行时间?

时间:2012-11-16 15:02:56

标签: c

我完成了一个类项目的编程,但我仍然需要获得运行时间。我尝试了clock()函数,但它没有用。

int main()
{
  clock_t start_time=clock();
  (my codes)
  clock_t end_time=clock();
  printf("The running time is %f", end_time-start_time);
}

我想这是使用时钟功能的正确方法,对吗?但我得到的只有0.000000。有人能告诉我正确的方法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

clock_t不是float,而是整数类型,很可能是long

因此,您可以%ld使用printf()


同样clock()不返回秒,但CPU滴答。因此,要获得秒,clock()返回的值将被系统常量CLOCKS_PER_SEC分开。

答案 1 :(得分:0)

phil你做得对(也许你也应该除以CLOCKS_PER_SEC)

   float time = (float)(end_time-start_time)/(float)CLOCKS_PER_SEC;
   printf("The running time is %f", time);

并且不要忘记扮演"漂浮"因为如果你得到0.5的结果,由于整数除法,它将向下舍入到0.0。

之后你需要花多少时间执行程序?因为据我所知,时钟具有测量几毫秒时间的能力,所以如果你编程花费的时间少于几毫秒,那么很可能无法检测到这个时间(时钟非常适合测量几秒钟的时间)精度很高)