C++ 程序运行时间统计
最近的项目需要对程序编码的时间进行统计分析,统计出的时间在main函数结束前通过控制台输出。
基本思路是在统计时间的源文件以及对应的头文件中创建全局变量,然后主函数输出全局变量的数值。开始的时候是按照这个思路进行的,但是做的时候发现,这样会造成库文件的相互调用问题,一个让人头大的问题,为了解决这个问题,新建了一个源文件和头文件,专门用来定义时间统计的相关变量,然后在需要使用这些变量的源文件中include时间统计的头文件即可。
时间统计全局变量的创建
在timeSum.h中声明这些变量,
#include <time.h>
extern clock_t totalTime_start;
extern clock_t totalTime_end;
extern double totalTime;
在timeSum.cpp中定义初始化这些变量,
#include "../source/Lib/timeSum.h"
clock_t totalTime_start;
clock_t totalTime_end;
double totalTime = 0;
这样在其他源文件中就可以引用imeSum.h来使用定义这些全局变量了。
#include "../source/Lib/timeSum.h"
时间统计
统计A方法的运行时间,
totalTime_start = clock();
A();
totalTime_end = clock();
totalTime += (double)(totalTime_end - totalTime_start) / CLOCKS_PER_SEC;
在main中打印出运行时间即可。