[C++] 怠惰な人のための時間計測クラス for C++11

 あけましておめでとうございます。年明け一発目の記事は怠惰を極める記事から。今年もだらだらと生きていきましょう。さて、C++11から環境依存なしに時間を測ったり処理したりするための機能が追加されましたが、いかんせん名前空間が複雑で覚えられない、覚えるのも入力も面倒な感じなので、chronoで最も頻繁に使われるであろう時間計測周りの処理をまとめました。

 コードは以下のgistから。コピペで使えます。

 コンストラクタで計測開始、デストラクタで計測終了するので、計測したい領域を1つのブロックとして囲んでください。コンストラクタにstd::ostreamを継承したクラスを渡せばそこが出力先になります。

{
    StopWatch<std::chrono::milliseconds> sw;
    for(int i = 0; i < 10; ++i)
    {
        something();
    }
} // このタイミングで結果が表示される

 まぁでもPoco::StopWatchとかboost::timerとかでも全然問題ないんですけど、ライブラリ入れるのってめんどくさいじゃないですか。コピペで動くならそれに越したことはない、それくらい怠惰に生きていきたいと思います。こういうことやってるから名前空間覚えられないんですけどね。

0 件のコメント :

コメントを投稿