Public Member Functions | |
Timers () | |
Default to disabled. More... | |
std::atomic< bool > & | Enabled () |
Modify whether or not timing is enabled. More... | |
bool | Enabled () const |
Get whether or not timing is enabled. More... | |
std::chrono::microseconds | Get (const std::string &timerName) |
Returns a copy of the timer specified. More... | |
std::map< std::string, std::chrono::microseconds > | GetAllTimers () |
Returns a copy of all the timers used via this interface. More... | |
void | Reset () |
Reset the timers. More... | |
void | Start (const std::string &timerName, const std::thread::id &threadId=std::thread::id()) |
Initializes a timer, available like a normal value specified on the command line. More... | |
void | Stop (const std::string &timerName, const std::thread::id &threadId=std::thread::id()) |
Halts the timer, and replaces its value with the delta time from its start. More... | |
void | StopAllTimers () |
Stop all timers. More... | |
Static Public Member Functions | |
static std::string | Print (const std::chrono::microseconds &totalDuration) |
Prints the specified timer. More... | |
Definition at line 105 of file timers.hpp.
|
inline |
Default to disabled.
Definition at line 109 of file timers.hpp.
References Timer::Get(), Timer::GetAllTimers(), Timer::Start(), and Timer::Stop().
|
inline |
Modify whether or not timing is enabled.
Definition at line 165 of file timers.hpp.
Referenced by main().
|
inline |
Get whether or not timing is enabled.
Definition at line 167 of file timers.hpp.
std::chrono::microseconds Get | ( | const std::string & | timerName | ) |
Returns a copy of the timer specified.
This contains the sum of the timing results for timers that have been stopped with this name.
timerName | The name of the timer in question. |
std::map<std::string, std::chrono::microseconds> GetAllTimers | ( | ) |
Returns a copy of all the timers used via this interface.
Referenced by mlpack::bindings::cli::EndProgram().
|
static |
Prints the specified timer.
If it took longer than a minute to complete the timer will be displayed in days, hours, and minutes as well.
timerName | The number of microseconds to print. |
Referenced by mlpack::bindings::cli::EndProgram().
void Reset | ( | ) |
Reset the timers.
This stops all running timers and removes them. Whether or not timing is enabled will not be changed.
void Start | ( | const std::string & | timerName, |
const std::thread::id & | threadId = std::thread::id() |
||
) |
Initializes a timer, available like a normal value specified on the command line.
Timers are of type timeval. If a timer is started, then stopped, then re-started, then stopped, the final timer value will be the length of both runs of the timer.
timerName | The name of the timer in question. |
threadId | Id of the thread accessing the timer. |
Referenced by main().
void Stop | ( | const std::string & | timerName, |
const std::thread::id & | threadId = std::thread::id() |
||
) |
Halts the timer, and replaces its value with the delta time from its start.
timerName | The name of the timer in question. |
threadId | Id of the thread accessing the timer. |
Referenced by main().
void StopAllTimers | ( | ) |
Stop all timers.
Referenced by mlpack::bindings::cli::EndProgram().