当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

克己性能测试类[VC/C++编程]

赞助商链接



  本文“克己性能测试类[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

商业软件包常常价钱高贵,并且需求一个历程之后才能有效地利用它们.针对这一点,本文拟实现一个简单有效的类,它能自动计算并报告函数、循环和代码块履行的时间.

自动化与简易性计划

操纵类对象构造函数和析构函数的履行特点(它们辨别在声明和销毁时履行),性能测试类的计时是在构造函数开始的,计算与报告某个操作的履行时间是在析构函数中举行的.测试仪供应毫秒级的后果.实现历程中将利用clock()返回程序开始后的处理器时钟时间(与平台相关的时间单位).宏CLK_TCK表示特定机械每秒时钟数.

性能测试类定义以下:

#include <time.h>
class stopwatch
{
public:
stopwatch() : start(clock()){} //开始计时
~stopwatch();
private:
clock_t start;
};

构造函数将成员start初始化为当前的时钟.除了析构函数外没有定义别的的成员函数.析构函数再次调用clock(),计算构造对象后经过的时间并显示后果:

#include <iostream>
using namespace std;
stopwatch::~stopwatch()
{
clock_t total = clock()-start; //得到所用时间
cout<<"此操作所用时间: "<<total<<endl;
cout< <"转换成秒数: "<< double(total/CLK_TCK) <<endl;
}

注意clock_t和CLK_TCK是整数.因此在举行除法操作前必须将它们转换成double范例.为了延时屏幕输出,在析构函数中可以加上下列代码:

char dummy;

cin >>dummy; //延时屏幕输出

别的也可以将差别性能侧面的后果写入性能日记文件.

用所成立的类测试性能

为了对代码块举行测试,先在代码块的开始成立一个本地类实例,假定要测试的代码是下列循环:

string *pstr[5000]; //指针数组
for (int i=0;i<5000;i++)
{
pstr[i] = new string;
}

此循环在堆中分配5000个串对象.

用大括弧将上面的代码块括起来并在代码块开始声明类对象实例:

{
stopwatch watch; // 开始计时
string *pstr[5000];
for (int i=0;i<5000;i++)
{
pstr[i] = new string;
}
} // 摧毁计时器并报告后果


  以上是“克己性能测试类[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 克己性能测试类
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .