Chaste  Release::2017.1
Timer Class Reference

#include <Timer.hpp>

+ Collaboration diagram for Timer:

Static Public Member Functions

static void Reset ()
 
static void Print (std::string message)
 
static double GetElapsedTime ()
 
static double GetWallTime ()
 
static void PrintAndReset (std::string message)
 

Static Private Attributes

static double msStartTime = 0.0
 

Detailed Description

A very simple lightweight benchmarking tool. Call Timer::Reset() to reset the timer and Timer::Print() to print the time elapsed to stdout.

Usage:

Timer::Reset(); //do something Timer::PrintAndReset("First thing"); //do something else Timer::Print("Other thing");

which outputs (for example):

First thing time: 10s Other thing time: 2s

Definition at line 58 of file Timer.hpp.

Member Function Documentation

double Timer::GetElapsedTime ( )
static

Get the elapsed wall-clock time since since midnight of January 1, 1970, or since Reset() was called.

Returns
The elapsed time, in seconds.

Definition at line 54 of file Timer.cpp.

References GetWallTime(), and msStartTime.

Referenced by AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge(), GenericEventHandler< 11, MeshEventHandler >::MilliSleep(), PCBlockDiagonal::PCBlockDiagonalSetUp(), PCLDUFactorisation::PCLDUFactorisationSetUp(), and Print().

double Timer::GetWallTime ( )
static
void Timer::Print ( std::string  message)
static

Print the elapsed wall-clock time (to std::cout and the Log file (under logging-level 2)) preceded by the message provided.

Parameters
message

Definition at line 59 of file Timer.cpp.

References GetElapsedTime(), PetscTools::GetMyRank(), and PetscTools::IsParallel().

Referenced by PrintAndReset(), LinearSystem::Solve(), and AbstractCellBasedWithTimingsTestSuite::tearDown().

void Timer::PrintAndReset ( std::string  message)
static

Print the elapsed wall-clock time (to std::cout and the Log file (under logging-level 2)) preceded by the message provided, and also reset the timer.

Parameters
message

Definition at line 70 of file Timer.cpp.

References Print(), and Reset().

Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning(), NodePartitioner< ELEMENT_DIM, SPACE_DIM >::PetscMatrixPartitioning(), StokesFlowSolver< DIM >::Solve(), and AbstractNonlinearElasticitySolver< DIM >::TakeNewtonStep().

Member Data Documentation

double Timer::msStartTime = 0.0
staticprivate

The start time.

Definition at line 63 of file Timer.hpp.

Referenced by GetElapsedTime(), and Reset().


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