itpp::CPU_Timer Class Reference
Base Module » Timers

A CPU time timer class. More...

`#include <itpp/base/timing.h>`

Inheritance diagram for itpp::CPU_Timer:

## 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;
itpp::CPU_Timer
A CPU time timer class.
Definition timing.h:105

Actions: Reset:

timer.reset();
itpp::Timer::reset
void reset(double t=0.0)
Sets the time to time t, which is zero by default. Stops the timer if it is running.
Definition timing.cpp:104

Start:

timer.start();
itpp::Timer::start
void start(void)
Start the timer. This does not set the time to zero.
Definition timing.cpp:85

Stop:

timer.stop();
itpp::Timer::stop
double stop(void)
Stop the timer. Returns the elapsed time in seconds.
Definition timing.cpp:93

Get time:

elapsedtime = timer.get_time();
itpp::Array
General array class.
Definition array.h:105
itpp::Timer::get_time
double get_time() const
Returns the elapsed time.
Definition timing.cpp:112

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 104 of file timing.h.

## Constructor & Destructor Documentation

## CPU_Timer()

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

## get_current_time()

double itpp::CPU_Timer::get_current_time | ( |  | ) | const

protectedvirtual

Vitrual function that returns teh current time.

Implements itpp::Timer.

Definition at line 138 of file timing.cpp.

## start()

void itpp::Timer::start | ( | void |  | ) |

inherited

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

Definition at line 85 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().

## stop()

double itpp::Timer::stop | ( | void |  | ) |

inherited

Stop the timer. Returns the elapsed time in seconds.

Definition at line 93 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.

## reset()

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 104 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().

## tic()

void itpp::Timer::tic | ( | void |  | ) |

inherited

Resets the timer and starts it.

Definition at line 119 of file timing.cpp.

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

Referenced by itpp::tic().

## toc()

double itpp::Timer::toc | ( | void |  | ) |

inherited

Returns the elapsed time since last tic()

Definition at line 125 of file timing.cpp.

References itpp::Timer::get_time().

Referenced by itpp::toc().

## toc_print()

void itpp::Timer::toc_print | ( | void |  | ) |

inherited

Prints the elapsed time since last tic()

Definition at line 130 of file timing.cpp.

References itpp::Timer::get_time().

Referenced by itpp::toc_print().

## get_time()

double itpp::Timer::get_time | ( |  | ) | const

inherited

Returns the elapsed time.

Definition at line 112 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

## start_time

double itpp::Timer::start_time

protectedinherited

The start time of the timer.

Definition at line 71 of file timing.h.

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

## stop_time

double itpp::Timer::stop_time

protectedinherited

The stop time of the timer.

Definition at line 73 of file timing.h.

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

## elapsed_time

double itpp::Timer::elapsed_time

protectedinherited

The ellapsed time from start to stop.

Definition at line 75 of file timing.h.

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

## running

bool itpp::Timer::running

protectedinherited

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

Definition at line 77 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:

- itpp/base/timing.h
- itpp/base/timing.cpp

Generated on Mon Jun 10 2024 11:49:34 for IT++ by Doxygen 1.9.8