Timer Class Reference

#include <Timer.hpp>

Collaboration diagram for Timer:
Collaboration graph
[legend]

List of all members.

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(), 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(), and LinearSystem::Solve().

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

void Timer::Reset (  )  [static]

Member Data Documentation

double Timer::msStartTime = 0.0 [static, private]

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:

Generated by  doxygen 1.6.2