c++で処理時間の計測をする
基礎の基礎ですが、ある関数の処理時間を計測したかったので <ctime> ライブラリの clock() を使って実装しました。
処理時間の計測
#include <iostream>
#include <ctime>
using namespace std;
class Timer {
double begin, end;
public:
Timer(); // コンストラクタ
~Timer(); // デストラクタ
void start();
void stop();
void show();
};
Timer::Timer()
{
begin = end = 0.0; // 初期化
}
Timer::~Timer()
{
cout << "Timerオブジェクトの破棄" << endl;
}
void Timer::start()
{
begin = (double)clock() / CLOCKS_PER_SEC;
}
void Timer::stop()
{
end = (double)clock() / CLOCKS_PER_SEC;
}
void Timer::show()
{
cout << "処理時間:" << end - begin << endl;
}
int main()
{
Timer obj;
obj.start(); // 計測開始
// ここに計測したい処理を入れる
obj.stop(); // 計測終了
obj.show();
return 0;
}
45行目の obj.start(); と obj.stop(); の間に実行したい処理を入れれば、処理時間を計測することができます。コンストラクタとデストラクタの確認のために作ったので、適宜ソースコードを削って使ってください。