Timer¶
- ある区間の時間を簡単に計測できるクラスを実装する。
Timer.hpp
#pragma once
#include <print> // std::println
#include <chrono> // std::chrono::high_resolution_clock, std::chrono::time_point, std::chrono::duration_cast, std::chrono::microseconds
#include "Common.hpp"
namespace seccamp
{
class Timer
{
public:
void print() const
{
// 終了時刻を記録
const auto end = std::chrono::high_resolution_clock::now();
// 経過時間をマイクロ秒で取得
const auto us = std::chrono::duration_cast<std::chrono::microseconds>(end - m_start).count();
// 出力
std::println("Time: {} us ({} ms)", us, (us / 1000));
}
private:
// 開始時刻を記録
std::chrono::time_point<std::chrono::high_resolution_clock> m_start = std::chrono::high_resolution_clock::now();
};
}