C++11で、chronoライブラリを使って時間を計測する


このエントリーをはてなブックマークに追加

C++11で新しく加わったchronoライブラリを使うと、簡単に経過時間が計測できる。もう環境依存のコードを書かなくてよくなるなら嬉しい。

サンプルコードは以下。シンプルなのですぐわかると思う。

#include <iostream>
#include <chrono>

int main() {
    
    auto start = std::chrono::system_clock::now();

    // 重い処理
    long long j = 0;
    for(int i = 1; i <= 100000000; ++i)
    {
        j += i;
    }

    auto end = std::chrono::system_clock::now();

    // 経過時間をミリ秒単位で表示
    auto diff = end - start;
    std::cout << "elapsed time = "
              << std::chrono::duration_cast<std::chrono::milliseconds>(diff).count()
              << " msec."
              << std::endl;

    return 0;
}