oomph::Timer Class Reference

Timer. More...

#include <oomph_utilities.h>

Public Member Functions

 Timer (const unsigned &n_timer)
 Constructor: Specify number of timers. More...
 
void start (const unsigned &i)
 (Re-)start i-th timer More...
 
void halt (const unsigned &i)
 Halt i-th timer. More...
 
double cumulative_time (const unsigned &i)
 Report time accumulated by i-th timer. More...
 
void reset (const unsigned &i)
 Reset i-th timer. More...
 
void reset ()
 Reset all timers. More...
 
void set_ntimers (const unsigned &ntimers)
 Set number of timings that can be recorded in parallel. More...
 

Private Attributes

Vector< clock_t > Timing
 Cumulative timings. More...
 
Vector< clock_t > Start_time
 Start times of active timers. More...
 

Detailed Description

Timer.

/////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////

Constructor & Destructor Documentation

◆ Timer()

oomph::Timer::Timer ( const unsigned n_timer)
inline

Constructor: Specify number of timers.

360  {
361  set_ntimers(n_timer);
362  }
void set_ntimers(const unsigned &ntimers)
Set number of timings that can be recorded in parallel.
Definition: oomph_utilities.h:399

References oomph::CumulativeTimings::set_ntimers().

Member Function Documentation

◆ cumulative_time()

double oomph::Timer::cumulative_time ( const unsigned i)
inline

Report time accumulated by i-th timer.

378  {
379  return double(Timing[i]) / CLOCKS_PER_SEC;
380  }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Vector< clock_t > Timing
Cumulative timings.
Definition: oomph_utilities.h:407

References i, and oomph::CumulativeTimings::Timing.

◆ halt()

void oomph::Timer::halt ( const unsigned i)
inline

Halt i-th timer.

372  {
373  Timing[i] += clock() - Start_time[i];
374  }
Vector< clock_t > Start_time
Start times of active timers.
Definition: oomph_utilities.h:410

References i, oomph::CumulativeTimings::Start_time, and oomph::CumulativeTimings::Timing.

◆ reset() [1/2]

void oomph::Timer::reset ( )
inline

Reset all timers.

390  {
391  unsigned n = Timing.size();
392  for (unsigned i = 0; i < n; i++)
393  {
394  Timing[i] = clock_t(0.0);
395  }
396  }
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11

References i, n, and oomph::CumulativeTimings::Timing.

◆ reset() [2/2]

void oomph::Timer::reset ( const unsigned i)
inline

Reset i-th timer.

384  {
385  Timing[i] = clock_t(0.0);
386  }

References i, and oomph::CumulativeTimings::Timing.

◆ set_ntimers()

void oomph::Timer::set_ntimers ( const unsigned ntimers)
inline

Set number of timings that can be recorded in parallel.

400  {
401  Timing.resize(ntimers, clock_t(0.0));
402  Start_time.resize(ntimers, clock_t(0.0));
403  }

References oomph::CumulativeTimings::Start_time, and oomph::CumulativeTimings::Timing.

◆ start()

void oomph::Timer::start ( const unsigned i)
inline

(Re-)start i-th timer

366  {
367  Start_time[i] = clock();
368  }

References i, and oomph::CumulativeTimings::Start_time.

Member Data Documentation

◆ Start_time

Vector<clock_t> oomph::Timer::Start_time
private

Start times of active timers.

◆ Timing

Vector<clock_t> oomph::Timer::Timing
private

Cumulative timings.


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