mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Timer.cpp
Go to the documentation of this file.
2
3
4using namespace m;
5
6
8std::ostream & m::operator<<(std::ostream &out, const Timer::Measurement &M)
9{
10 out << M.name;
11 if (M.is_unused()) {
12 out << " (removed)";
13 } else if (M.is_active()) {
14 out << " started at " << put_timepoint(M.begin) << ", not finished";
15 } else {
17 using namespace std::chrono;
18 out << " took " << duration_cast<microseconds>(M.duration()).count() / 1e3 << " ms";
19 }
20 return out;
21}
22
23void Timer::Measurement::dump(std::ostream &out) const { out << *this << std::endl; }
24void Timer::Measurement::dump() const { dump(std::cerr); }
25
26void Timer::dump(std::ostream &out) const { out << *this; out.flush(); }
27void Timer::dump() const { dump(std::cerr); }
#define M_insist(...)
Definition: macro.hpp:129
‍mutable namespace
Definition: Backend.hpp:10
M_LCOV_EXCL_START std::ostream & operator<<(std::ostream &out, const PlanTableBase< Actual > &PT)
Definition: PlanTable.hpp:401
time_point begin
Definition: Timer.hpp:46
duration duration() const
Returns the duration of a finished Measurement.
Definition: Timer.hpp:85
bool is_finished() const
Returns true iff this Measurement has completed.
Definition: Timer.hpp:82
void dump() const
Definition: Timer.cpp:24
bool is_unused() const
Returns true iff the Measurement is unused, i.e.
Definition: Timer.hpp:70
bool is_active() const
Returns true iff this Measurement is currently in process.
Definition: Timer.hpp:80
std::string name
the name of this Measurement
Definition: Timer.hpp:45
void dump() const
Definition: Timer.cpp:27