Timers Class Reference

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::map< std::string, std::chrono::microseconds > GetAllTimers ()
 Returns a copy of all the timers used via this interface. More...

 
bool GetState (const std::string &timerName, const std::thread::id &threadId=std::thread::id())
 Returns state of the given timer. More...

 
std::chrono::microseconds GetTimer (const std::string &timerName)
 Returns a copy of the timer specified. More...

 
void PrintTimer (const std::string &timerName)
 Prints the specified timer. More...

 
void Reset ()
 Reset the timers. More...

 
void StartTimer (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 StopAllTimers ()
 Stop all timers. More...

 
void StopTimer (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...

 

Detailed Description

Definition at line 97 of file timers.hpp.

Constructor & Destructor Documentation

◆ Timers()

Timers ( )
inline

Default to disabled.

Definition at line 101 of file timers.hpp.

Member Function Documentation

◆ Enabled() [1/2]

std::atomic& Enabled ( )
inline

Modify whether or not timing is enabled.

Definition at line 166 of file timers.hpp.

◆ Enabled() [2/2]

bool Enabled ( ) const
inline

Get whether or not timing is enabled.

Definition at line 168 of file timers.hpp.

◆ GetAllTimers()

std::map GetAllTimers ( )

Returns a copy of all the timers used via this interface.

Referenced by mlpack::bindings::cli::EndProgram().

◆ GetState()

bool GetState ( const std::string &  timerName,
const std::thread::id &  threadId = std::thread::id() 
)

Returns state of the given timer.

Parameters
timerNameThe name of the timer in question.
threadIdId of the thread accessing the timer.

◆ GetTimer()

std::chrono::microseconds GetTimer ( 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.

Parameters
timerNameThe name of the timer in question.

◆ PrintTimer()

void PrintTimer ( const std::string &  timerName)

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.

Parameters
timerNameThe name of the timer in question.

Referenced by mlpack::bindings::cli::EndProgram().

◆ Reset()

void Reset ( )

Reset the timers.

This stops all running timers and removes them. Whether or not timing is enabled will not be changed.

Referenced by mlpack::util::GetParamWithInfo(), and mlpack::util::ResetTimers().

◆ StartTimer()

void StartTimer ( 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.  *  *

Parameters
timerNameThe name of the timer in question.
threadIdId of the thread accessing the timer.  

◆ StopAllTimers()

void StopAllTimers ( )

Stop all timers.

Referenced by mlpack::bindings::cli::EndProgram().

◆ StopTimer()

void StopTimer ( 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.

  *   *

Parameters
timerNameThe name of the timer in question.
threadIdId of the thread accessing the timer.  

The documentation for this class was generated from the following file:
  • /home/jenkins-mlpack/mlpack.org/_src/mlpack-3.4.2/src/mlpack/core/util/timers.hpp