自制性能测试类
商业软件包往往价格昂贵,并且需要一个过程之后才能有效地使用它们。针对这一点,本文拟实现一个简单有效的类,它能自动计算并报告函数、循环和代码块执行的时间。
自动化与简易性设计
利用类对象构造函数和析构函数的执行特性(它们分别在声明和销毁时执行),性能测试类的计时是在构造函数开始的,计算与报告某个操作的执行时间是在析构函数中进行的。测试仪提供毫秒级的结果。实现过程中将使用clock()返回程序开始后的处理器时钟时间(与平台相关的时间单位)。宏CLK_TCK表示特定机器每秒时钟数。
性能测试类定义如下:
#include
class stopwatch
{
public:
stopwatch() : start(clock()){} //开始计时
~stopwatch();
private:
clock_t start;
};
构造函数将成员start初始化为当前的时钟。除了析构函数外没有定义其它的成员函数。析构函数再次调用clock(),计算构造对象后经过的时间并显示结果:
#include
using namespace std;
stopwatch::~stopwatch()
{
clock_t total = clock()-start; //获得所用时间
cout
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>