#include "timer.h" #include Timer::Timer() { start(); }; void Timer::start() { start_ = std::chrono::high_resolution_clock::now(); } void Timer::stop() { end_ = std::chrono::high_resolution_clock::now(); } long Timer::us() const { return std::chrono::duration_cast(end_ - start_) .count(); } std::ostream &operator<<(std::ostream &os, const Timer &timer) { long time = timer.us(); if (time >= 1e6) { os << time / static_cast(1e6) << " s "; time %= static_cast(1e6); } if (time >= 1e3) { os << time / static_cast(1e3) << " ms "; time %= static_cast(1e3); } os << time << " µs"; return os; }