CGAL 4.5.2 - Profiling tools, Hash Map, Union-find, Modifiers
|
#include <CGAL/Timer.h>
The class Timer
is a timer class for measuring user process time.
A timer t
of type Timer
is an object with a state. It is either running or it is stopped. The state is controlled with Timer::start()
and Timer::stop()
. The timer counts the time elapsed since its creation or last reset. It counts only the time where it is in the running state. The time information is given in seconds. The timer counts also the number of intervals it was running, i.e. it counts the number of calls of the Timer::start()
member function since the last reset. If the reset occures while the timer is running it counts as the first interval.
Implementation
The timer class is based on the C function std::clock()
on PC systems and the C function getrusage()
on standard POSIX systems. The counter for the std::clock()
based solution might wrap around (overflow) after only about 36 minutes. This won't happen on POSIX systems. The system calls to these timers might fail, in which case a warning message will be issued through the CGAL error handler and the functions return with the error codes indicated above. The Timer::precision()
method computes the precision dynamically at runtime at its first invocation.
Creation | |
Timer () | |
state is stopped. | |
Operations | |
void | start () |
void | stop () |
void | reset () |
reset timer to zero. More... | |
bool | is_running () const |
true if the current state is running. | |
double | time () const |
user process time in seconds, or 0 if the underlying system call failed. | |
int | intervals () const |
number of start/stop-intervals since the last reset. | |
double | precision () const |
smallest possible time step in seconds, or -1 if the system call failed. | |
double | max () const |
maximal representable time in seconds. | |
void CGAL::Timer::reset | ( | ) |
reset timer to zero.
The state is unaffected.
void CGAL::Timer::start | ( | ) |
void CGAL::Timer::stop | ( | ) |