refactor: extract lib_timer
This commit is contained in:
parent
14dbf00775
commit
10b19749f7
8 changed files with 433 additions and 4 deletions
|
@ -1,32 +0,0 @@
|
|||
#include "timer.h"
|
||||
|
||||
#include <chrono>
|
||||
|
||||
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<std::chrono::microseconds>(end_ - start_)
|
||||
.count();
|
||||
}
|
||||
|
||||
std::ostream &operator<<(std::ostream &os, const Timer &timer) {
|
||||
long time = timer.us();
|
||||
|
||||
if (time >= 1e6) {
|
||||
os << time / static_cast<long>(1e6) << " s ";
|
||||
time %= static_cast<long>(1e6);
|
||||
}
|
||||
|
||||
if (time >= 1e3) {
|
||||
os << time / static_cast<long>(1e3) << " ms ";
|
||||
time %= static_cast<long>(1e3);
|
||||
}
|
||||
|
||||
os << time << " µs";
|
||||
|
||||
return os;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue