使用 Netbeans 测量执行 C 程序的时间

Measure time for executing C program by using Netbeans

我对 Netbeans 有疑问。这是我的代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

 int main(){
  int i;
  clock_t start, finish;
  start = clock();
  for(i = 0; i < 10000000000; i++);
  finish = clock();
  printf("%f", (float)(finish-start)/CLOCKS_PER_SEC);
  return 0;
   }

当我运行Netbeans 8.1 上的程序时,输出是0.000000,但我在Dev C 上尝试时是0.2100000。

编译器可能优化了您的 for 循环,因为该循环没有副作用(即不会以任何方式影响程序的其余部分)。

不清楚你想达到什么目的。你想学习如何衡量执行时间吗?然后在测量之间调用 usleep()sleep()while (clock() < XXX); 以延迟系统一段时间。还是想了解具体算法的执行时间?然后将该算法放入代码中,而不是虚拟 for 循环。