SourcePro® 2023.1 |
SourcePro® API Reference Guide |
Measures two types of time, system and user time, both of which can be reported as cumulative if desired. More...
#include <rw/timer.h>
Public Types | |
enum | Type { USER, SYSTEM, userTime, systemTime } |
Public Member Functions | |
RWTimer () | |
rwint64 | elapsedMicroseconds () const |
rwint64 | elapsedMilliseconds () const |
rwint64 | elapsedSeconds () const |
double | elapsedTime () const |
void | reset () |
void | start () |
void | stop () |
rwint64 | time (int=userTime|systemTime) const |
This class can measure two types of time: system time and user time, both of which can be reported as cumulative, if desired. The timer has two states: running and stopped. The timer measures the total amount of time spent in the "running" state since it was either constructed or reset.
The timer is put into the "running" state by calling member function start(). It is put into the "stopped" state by calling stop().
RWTimer uses different APIs on Windows and UNIX; on Windows it uses GetProcessTime
, whereas on UNIX it uses the getrusage
system call.
The time intervals are stored inside the RWTimer objects as 64-bit integers. The resolution of the timer is microseconds. The wrap-up interval for the counters is > 500,000 years.
enum RWTimer::Type |
The Type
type indicates the type of time returned by the time() member function.
Enumerator | |
---|---|
USER |
|
SYSTEM |
|
userTime |
Cumulated user time |
systemTime |
Cumulated system time |
|
inline |
Constructs a new timer. The timer does not start running until start() is called.
rwint64 RWTimer::elapsedMicroseconds | ( | ) | const |
Returns the number of microseconds that have elapsed while the timer was in the running state.
rwint64 RWTimer::elapsedMilliseconds | ( | ) | const |
Returns the number of milliseconds that have elapsed while the timer was in the running state.
rwint64 RWTimer::elapsedSeconds | ( | ) | const |
Returns the number of seconds that have elapsed while the timer was in the running state.
double RWTimer::elapsedTime | ( | ) | const |
Returns the amount of user and system time, in seconds, that has accumulated while the timer was in the running state.
|
inline |
Resets (and stops) the timer.
void RWTimer::start | ( | ) |
Puts the timer in the "running" state. Time accumulates while in this state.
void RWTimer::stop | ( | ) |
Puts the timer in the "stopped" state. Time does not accumulate while in this state.
rwint64 RWTimer::time | ( | int | = userTime|systemTime | ) | const |
Returns the amount of time, in microseconds, measured by the object. The parameter is an integer bitmask indicating the type of time requested.
Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |