boost::timer

トップページ > 時間 >

abstract

必要なヘッダ
<boost/timer.hpp>
出来ること
経過時間測定
リファレンス
en

sample

#include <iostream>
#include <boost/timer.hpp>
using namespace std;

int main()
{
	boost::timer t;
	unsigned int a=0;
	for( unsigned int i=0; i<10000; ++i )
		for( unsigned int j=0; j<60000; ++j )
			a += i; // 適当に時間のかかりそうな処理

	cout << t.elapsed() << "秒かかりました" << endl;
	return 0;
}

出力例

2.093秒かかりました

etc

Cの標準ライブラリの clock() で実装されているようです。 コンストラクタから、あるいは restart() した時点からの 経過時間を秒単位のdoubleで得ることが出来ます。

直接 clock() を使うのに比べて際だった利点はありませんが、 開始時を記録しておいて、経過時間が欲しいときには clock() の結果から引き算…という記述をするよりは、timer クラスのオブジェクトを使った方が、大分わかりやすいコードにはなるかもしれません。

see also

presented by k.inaba (kiki .a.t. kmonos.net) under CC0