使用 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
循环。
我对 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
循环。