MongoDB  2.7.0
Public Member Functions | Static Public Attributes | List of all members
mongo::Timer Class Reference

Time tracking object. More...

#include <timer.h>

Public Member Functions

int seconds () const
 
int millis () const
 
int minutes () const
 
int millisReset ()
 Get the time interval and reset at the same time. More...
 
unsigned long long micros () const
 
void reset ()
 

Static Public Attributes

static const unsigned long long millisPerSecond = 1000
 
static const unsigned long long microsPerSecond = 1000 * millisPerSecond
 
static const unsigned long long nanosPerSecond = 1000 * microsPerSecond
 
static unsigned long long _countsPerSecond = 1
 Internally, the timer counts platform-dependent ticks of some sort, and must then convert those ticks to microseconds and their ilk. More...
 

Detailed Description

Time tracking object.

Should be of reasonably high performance, though the implementations are platform-specific. Each platform provides a distinct implementation of the now() method, and sets the _countsPerSecond static field to the constant number of ticks per second that now() counts in. The maximum span measurable by the counter and convertible to microseconds is about 10 trillion ticks. As long as there are fewer than 100 ticks per nanosecond, timer durations of 2.5 years will be supported. Since a typical tick duration will be under 10 per nanosecond, if not below 1 per nanosecond, this should not be an issue.

Member Function Documentation

int mongo::Timer::millisReset ( )
inline

Get the time interval and reset at the same time.

Returns
time in milliseconds.

Member Data Documentation

unsigned long long mongo::Timer::_countsPerSecond = 1
static

Internally, the timer counts platform-dependent ticks of some sort, and must then convert those ticks to microseconds and their ilk.

This field stores the frequency of the platform-dependent counter.

This value is initialized at program startup, and never changed after. It should be treated as private.


The documentation for this class was generated from the following files: