程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 自制性能測試類

自制性能測試類

編輯:關於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<<"此操作所用

根據上面的代碼段,當代碼開始執行時,計時也開始,當代碼退出時,析構函數便顯示結果:

此操作所用

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved