之前看到书上用clock()函数来计算程序执行的时间:
#include <time.h>
double time = 0;
time = clock()/CLOCKS_PER_SEC;
这里的time是整个程序执行到这个函数所花去的时间,但是很多程序是有数据的输入的,而输入的时间存在差异,这样就不能通过以上的做法来衡量这个程序的效率了。那这样的情况我们应该通过什么方法来辨别程序的效率呢?
其实只要将这个方法进行简单的变形即可。
clock_t start, finish;
double duration;
start = clock();
//函数
finish = clock();
duration = (finish - start)/((double)CLOCKS_PER_SEC);
通过计算这个时间差,就可以简单的获得时间差中间某个函数,或者程序关键部分的执行时间了。