|
last update 20 Sep 2009 |
|
#include <cvrTimer.h>


Public Types | |
| enum | eTimeType { Wall, Cpu } |
Public Member Functions | |
| timer () | |
| timer (const eTimeType &timeType) | |
| timer (const timer &other) | |
| virtual | ~timer () |
| void | start () |
| void | stop () |
| double | getTime () const |
| void | setTimeType (const eTimeType &timeType) |
| const eTimeType & | getTimeType () |
| virtual const std::string & | name () const |
| virtual timer * | clone () const |
| virtual timer * | newInstance () const |
Static Public Member Functions | |
| static std::string | getDateAndTime () |
| static double | getCpuTime () |
Protected Member Functions | |
| double | getActualTime () const |
Protected Attributes | |
| eTimeType | timeType_ |
| double | startTime_ |
| double | endTime_ |
| bool | started_ |
It seems like the precision for CPU time is 1ms on Windows systems. The elapsed time is returned in microseconds.
Depending on the eTimeType (setTimeType()) The CPU time (Cpu) or wall-clock time (Wall) are measured. The default is Cpu.
The maximum time that can be measured with this function in Wall mode is 1 day (86.4E+09 microseconds). To measure longer time intervalls use the standard time() function.
Example:
cvr::timer chron; chron.start(); // do something chron.stop(); std::cout << "something takes " << chron.getTime() << " microseconds\n";
| cvr::timer::timer | ( | ) |
Default constructor.
| cvr::timer::timer | ( | const eTimeType & | timeType | ) |
Constructor to set the time type.
| cvr::timer::timer | ( | const timer & | other | ) |
Copy constructor.
| virtual cvr::timer::~timer | ( | ) | [virtual] |
Destructor.
| virtual timer* cvr::timer::clone | ( | ) | const [virtual] |
| double cvr::timer::getActualTime | ( | ) | const [protected] |
Get actual time.
The implementation of this method depends on the OS.
| static double cvr::timer::getCpuTime | ( | ) | [static] |
| static std::string cvr::timer::getDateAndTime | ( | ) | [static] |
Return a string containing the current time.
Obviously this always uses the Wall time.
The format is the one return by the libc function ctime, for example
Sat Jul 24 22:46:18 CEST 2004
| double cvr::timer::getTime | ( | ) | const |
| const eTimeType& cvr::timer::getTimeType | ( | ) |
Returns the current time type.
| virtual const std::string& cvr::timer::name | ( | ) | const [virtual] |
| virtual timer* cvr::timer::newInstance | ( | ) | const [virtual] |
| void cvr::timer::setTimeType | ( | const eTimeType & | timeType | ) |
Sets the time type.
| timeType | the new eTimeType |
| void cvr::timer::start | ( | ) |
Start the timer.
| void cvr::timer::stop | ( | ) |
Stop the timer.
double cvr::timer::endTime_ [protected] |
Time at which stop() was called.
bool cvr::timer::started_ [protected] |
double cvr::timer::startTime_ [protected] |
Time at which start() was called.
eTimeType cvr::timer::timeType_ [protected] |
Time type used.