diff --git a/src/util/timer.cpp b/src/util/timer.cpp index 9b650b9..867f3e9 100644 --- a/src/util/timer.cpp +++ b/src/util/timer.cpp @@ -1,6 +1,6 @@ -#include // max, min -#include // high_resolution_clock seconds, milliseconds, microseconds, nanoseconds +#include // high_resolution_clock, seconds, milliseconds, microseconds, nanoseconds #include // uint64_t +#include // printf #include "util/timer.h" @@ -69,4 +69,20 @@ uint64_t Timer::elapsedNanoseconds() return elapsed(); } +void Timer::fancyPrint(uint64_t nanoseconds) +{ + if (nanoseconds > 999999999) { + printf("%.3fs", nanoseconds / 1000000000.0); + } + else if (nanoseconds > 999999) { + printf("%.0fms", nanoseconds / 1000000.0); + } + else if (nanoseconds > 999) { + printf("%.0fμs", nanoseconds / 1000.0); + } + else { + printf("%luns", nanoseconds); + } +} + } // namespace Util diff --git a/src/util/timer.h b/src/util/timer.h index 5ee4f8a..8de2d5c 100644 --- a/src/util/timer.h +++ b/src/util/timer.h @@ -32,6 +32,8 @@ public: uint64_t elapsedMicroseconds(); uint64_t elapsedNanoseconds(); + static void fancyPrint(uint64_t nanoseconds); + const TimePoint& start() const { return m_start; } private: