- ctime[meta header]
- std[meta namespace]
- function[meta id-type]
namespace std {
clock_t clock();
}- clock_t[link clock_t.md]
プログラムの実行開始からの、処理系が使用したプロセッサ時間を取得する。
ここで得られる時間は、実世界の経過時間 (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;
}- std::clock[color ff0000]
- std::clock_t[link clock_t.md]
- CLOCKS_PER_SEC[link clocks_per_sec.md]
0.21秒
- C++98