最初に
C++で書かいた、経過時間を出力する便利なデバッグクラスコードです。今回のサンプルは、通常の sqrt関数と、前に作成した、整数用の平方根の値を導くIntSquareとの速度の違いを出力します。
情報
cppreference.comC++コード
#include <chrono> /** * 経過時間を出力する便利なデバッグクラス */ class UtilDebugTime { typedef std::chrono::time_point<std::chrono::system_clock> SystemClock; SystemClock m_start; SystemClock m_end; public: /** * コンストラクタ */ UtilDebugTime() { Restart(); } /** * 計測開始時間をリスタートする */ void Restart() { m_start = std::chrono::system_clock::now(); } /** * 計測終了 */ void End() { m_end = std::chrono::system_clock::now(); } /** * ミリセカンドで経過時間を取得する */ long long GetMillSecond() { return std::chrono::duration_cast<std::chrono::milliseconds>(m_end - m_start).count(); } /** * 秒単位で、ミリセカンドも含む経過時間を出力する。 */ void OutputMillSecond() { long long t, ms; t = GetMillSecond(); ms = t % 1000; t /= 1000; std::printf("%lld.%04lld s\n", t, ms); } };