casacore
|
measure the time it takes to execute parts of a program More...
#include <Timer.h>
Public Member Functions | |
Timer () | |
Construct a timer and set the mark ("mark()"). More... | |
void | mark () |
Set the timer mark – i.e., start the clock ticking. More... | |
double | user () const |
Get the user time (in seconds) since last "mark()". More... | |
double | system () const |
Get the system time (in seconds) since last "mark()". More... | |
double | all () const |
Get the user+system time (in seconds) since last "mark()". More... | |
double | real () const |
Get the real time (in seconds) since last "mark()". More... | |
void | show () const |
Show real, user, system time (in seconds) on cout or a user supplied stream. More... | |
void | show (ostream &os) const |
void | show (const String &) const |
Show real, user, system time (in seconds) on cout or a user supplied stream preceeded by the string parameter. More... | |
void | show (ostream &os, const String &prefix) const |
double | user_usec () const |
Get the user time (in microseconds) since last "mark()". More... | |
double | system_usec () const |
Get the system time (in microseconds) since last "mark()". More... | |
double | all_usec () const |
Get the user+system time (in microseconds) since last "mark()". More... | |
Private Attributes | |
rusage | usage0 |
timeb | real0 |
measure the time it takes to execute parts of a program
Public interface
The Timer class provides an interface to system timing. It allows a C++ program to record the time between a reference point (mark) and now. This class uses the system time(2) interface to provide time resolution at either millisecond or microsecond granularity, depending upon operating system support and features. Since the time duration is stored in a 32-bit word, the maximum time period before rollover occurs is about 71 minutes.
Due to operating system dependencies, the accuracy of all member function results may not be as documented. For example some operating systems do not support timers with microsecond resolution. In those cases, the values returned are provided to the nearest millisecond or other unit of time as appropriate. See the Timer header file for system- specific notes.
Tip: This Timer class is based on the TI COOL library Timer class
Here's how to create a timer, start it (the 'mark' member function) and display a breakdown. Recall that
add 'start' member function, a synonym for 'mark' but more comprehensible
|
inline |
double casacore::Timer::all | ( | ) | const |
Get the user+system time (in seconds) since last "mark()".
double casacore::Timer::all_usec | ( | ) | const |
Get the user+system time (in microseconds) since last "mark()".
void casacore::Timer::mark | ( | ) |
Set the timer mark – i.e., start the clock ticking.
Referenced by Timer().
double casacore::Timer::real | ( | ) | const |
Get the real time (in seconds) since last "mark()".
void casacore::Timer::show | ( | ) | const |
Show real, user, system time (in seconds) on cout or a user supplied stream.
void casacore::Timer::show | ( | ostream & | os | ) | const |
void casacore::Timer::show | ( | const String & | ) | const |
Show real, user, system time (in seconds) on cout or a user supplied stream preceeded by the string parameter.
void casacore::Timer::show | ( | ostream & | os, |
const String & | prefix | ||
) | const |
double casacore::Timer::system | ( | ) | const |
Get the system time (in seconds) since last "mark()".
double casacore::Timer::system_usec | ( | ) | const |
Get the system time (in microseconds) since last "mark()".
double casacore::Timer::user | ( | ) | const |
Get the user time (in seconds) since last "mark()".
double casacore::Timer::user_usec | ( | ) | const |
Get the user time (in microseconds) since last "mark()".