namespace std {
clock_t clock();
}
概要
プログラムの実行開始からの、処理系が使用したプロセッサ時間を取得する。
ここで得られる時間は、実世界の経過時間 (wall-clock time) ではなく、プログラムが処理系上で消費したCPU時間である。
戻り値
プログラム実行開始からの経過プロセッサ時間を、clock_t型の値として返す。
プロセッサ時間が取得できない、もしくは値が表現できない場合、(clock_t)(-1)を返す。
備考
戻り値を秒単位の値に変換するには、CLOCKS_PER_SECで割る。
2点間の経過時間を計測するには、計測対象の前後でclock()を呼び出し、その差を求める。
例
#include <ctime>
#include <iostream>
int main()
{
std::clock_t start = std::clock();
// 計測対象の処理
volatile long sum = 0;
for (int i = 0; i < 100000000; ++i) {
sum += i;
}
std::clock_t end = std::clock();
// 経過したプロセッサ時間を秒に変換する
double sec = static_cast<double>(end - start) / CLOCKS_PER_SEC;
std::cout << sec << "秒" << std::endl;
}
出力例
0.21秒
バージョン
言語
- C++03