IT++ Logo Newcom Logo

itpp::CPU_Timer Class Reference
[Timers]

A CPU time timer class. More...

#include <itpp/base/timing.h>

Inheritance diagram for itpp::CPU_Timer:

itpp::Timer List of all members.

Public Member Functions

 CPU_Timer ()
 Create a new timer. Sets the time to zero.
void start (void)
 Start the timer. This does not set the time to zero.
double stop (void)
 Stop the timer. Returns the elapsed time in seconds.
void reset (double t=0.0)
 Sets the time to time t, which is zero by default. Stops the timer if it is running.
void tic (void)
 Resets the timer and starts it.
double toc (void)
 Returns the elapsed time since last tic().
void toc_print (void)
 Prints the elapsed time since last tic().
double get_time () const
 Returns the elapsed time.

Protected Member Functions

double get_current_time () const
 Vitrual function that returns teh current time.

Protected Attributes

double start_time
 The start time of the timer.
double stop_time
 The stop time of the timer.
double elapsed_time
 The ellapsed time from start to stop.
bool running
 A bool that indicates if the timer is running or not.

Detailed Description

A CPU time timer class.

Measures the time spent by the CPU on the current process. If two processes are running concurrently, one real seconds equal 5 CPU seconds per process. The resolution is not very good (in the order of 0.01 seconds).

Usage: Define a time object:

  CPU_Timer timer;

Actions: Reset:

 timer.reset(); 
Start:
 timer.start(); 
Stop:
 timer.stop(); 
Get time:
 elapsedtime = timer.get_time(); 

It is possible to get elapsed time without stopping the timer. Observe that it is also possible to use the macros "time.tic();" to reset and start clock and "time.toc();" stop and print the elapsed time.

Warning:
May give an negative answer if the measured time is too long.

Definition at line 105 of file timing.h.


Constructor & Destructor Documentation

itpp::CPU_Timer::CPU_Timer (  )  [inline]

Create a new timer. Sets the time to zero.

Definition at line 108 of file timing.h.


Member Function Documentation

double itpp::CPU_Timer::get_current_time (  )  const [protected, virtual]

Vitrual function that returns teh current time.

Implements itpp::Timer.

Definition at line 140 of file timing.cpp.

void itpp::Timer::start ( void   )  [inherited]

Start the timer. This does not set the time to zero.

Definition at line 87 of file timing.cpp.

References itpp::Timer::get_current_time(), itpp::Timer::running, and itpp::Timer::start_time.

Referenced by itpp::pause(), and itpp::Timer::tic().

double itpp::Timer::stop ( void   )  [inherited]

Stop the timer. Returns the elapsed time in seconds.

Definition at line 95 of file timing.cpp.

References itpp::Timer::elapsed_time, itpp::Timer::get_current_time(), itpp::Timer::running, itpp::Timer::start_time, and itpp::Timer::stop_time.

void itpp::Timer::reset ( double  t = 0.0  )  [inherited]

Sets the time to time t, which is zero by default. Stops the timer if it is running.

Definition at line 106 of file timing.cpp.

References itpp::Timer::elapsed_time, itpp::Timer::running, itpp::Timer::start_time, and itpp::Timer::stop_time.

Referenced by itpp::Timer::tic(), and itpp::Timer::Timer().

void itpp::Timer::tic ( void   )  [inherited]

Resets the timer and starts it.

Definition at line 121 of file timing.cpp.

References itpp::Timer::reset(), and itpp::Timer::start().

Referenced by itpp::tic().

double itpp::Timer::toc ( void   )  [inherited]

Returns the elapsed time since last tic().

Definition at line 127 of file timing.cpp.

References itpp::Timer::get_time().

Referenced by itpp::toc().

void itpp::Timer::toc_print ( void   )  [inherited]

Prints the elapsed time since last tic().

Definition at line 132 of file timing.cpp.

References itpp::Timer::get_time().

Referenced by itpp::toc_print().

double itpp::Timer::get_time (  )  const [inherited]

Returns the elapsed time.

Definition at line 114 of file timing.cpp.

References itpp::Timer::elapsed_time, itpp::Timer::get_current_time(), itpp::Timer::running, and itpp::Timer::start_time.

Referenced by itpp::pause(), itpp::Timer::toc(), and itpp::Timer::toc_print().


Member Data Documentation

double itpp::Timer::start_time [protected, inherited]

The start time of the timer.

Definition at line 72 of file timing.h.

Referenced by itpp::Timer::get_time(), itpp::Timer::reset(), itpp::Timer::start(), and itpp::Timer::stop().

double itpp::Timer::stop_time [protected, inherited]

The stop time of the timer.

Definition at line 74 of file timing.h.

Referenced by itpp::Timer::reset(), and itpp::Timer::stop().

double itpp::Timer::elapsed_time [protected, inherited]

The ellapsed time from start to stop.

Definition at line 76 of file timing.h.

Referenced by itpp::Timer::get_time(), itpp::Timer::reset(), and itpp::Timer::stop().

bool itpp::Timer::running [protected, inherited]

A bool that indicates if the timer is running or not.

Definition at line 78 of file timing.h.

Referenced by itpp::Timer::get_time(), itpp::Timer::reset(), itpp::Timer::start(), and itpp::Timer::stop().


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

Generated on Wed Apr 18 11:20:03 2007 for IT++ by Doxygen 1.5.2