MENU

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(); の間に実行したい処理を入れれば、処理時間を計測することができます。コンストラクタとデストラクタの確認のために作ったので、適宜ソースコードを削って使ってください。