dune-common  2.5.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
Dune::Timer Class Reference

A simple stop watch. More...

#include <dune/common/timer.hh>

Public Member Functions

 Timer (bool startImmediately=true) throw (TimerError)
 A new timer, create and reset. More...
 
void reset () throw (TimerError)
 Reset timer while keeping the running/stopped state. More...
 
void start () throw (TimerError)
 Start the timer and continue measurement if it is not running. Otherwise do nothing. More...
 
double elapsed () const throw (TimerError)
 Get elapsed user-time from last reset until now/last stop in seconds. More...
 
double lastElapsed () const throw (TimerError)
 Get elapsed user-time from last start until now/last stop in seconds. More...
 
double stop () throw (TimerError)
 Stop the timer and return elapsed(). More...
 

Detailed Description

A simple stop watch.

This class reports the elapsed user-time, i.e. time spent computing, after the last call to Timer::reset(). The results are seconds and fractional seconds. Note that the resolution of the timing depends on your OS kernel which should be somewhere in the milisecond range.

The class is basically a wrapper for the libc-function getrusage()

Warning
In a multi-threading situation, this class does NOT return wall-time! Instead, the run time for all threads will be added up. For example, if you have four threads running in parallel taking one second each, then the Timer class will return an elapsed time of four seconds.

Constructor & Destructor Documentation

Dune::Timer::Timer ( bool  startImmediately = true)
throw (TimerError
)
inline

A new timer, create and reset.

Parameters
startImmediatelyIf true (default) the timer starts counting immediately

Member Function Documentation

double Dune::Timer::elapsed ( ) const
throw (TimerError
)
inline

Get elapsed user-time from last reset until now/last stop in seconds.

double Dune::Timer::lastElapsed ( ) const
throw (TimerError
)
inline

Get elapsed user-time from last start until now/last stop in seconds.

void Dune::Timer::reset ( )
throw (TimerError
)
inline

Reset timer while keeping the running/stopped state.

void Dune::Timer::start ( )
throw (TimerError
)
inline

Start the timer and continue measurement if it is not running. Otherwise do nothing.

double Dune::Timer::stop ( )
throw (TimerError
)
inline

Stop the timer and return elapsed().


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