Chombo + EB  3.0
Classes | Macros | Functions
CH_Timer.H File Reference
#include <cstdio>
#include "REAL.H"
#include "MayDay.H"
#include "Vector.H"
#include "ClockTicks.H"
#include <list>
#include <string>
#include "List.H"
#include <iostream>
#include <sys/time.h>
#include "BaseNamespaceHeader.H"
#include "BaseNamespaceFooter.H"
Include dependency graph for CH_Timer.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TraceTimer
 
class  AutoStartLeaf
 
class  AutoStart
 

Macros

#define _CH_TIMER_H_
 
#define CH_TIMER(name, tpointer)
 
#define CH_TIME(name)
 
#define CH_TIMELEAF(name)
 
#define CH_TIMERS(name)
 
#define CH_START(tpointer)   tpointer->start(&CH_Timermutex)
 
#define CH_STOP(tpointer)   tpointer->stop(&CH_Timermutex)
 
#define CH_STOPV(tpointer, val)   val = tpointer->stop(&CH_Timermutex)
 
#define CH_TIMER_REPORT()   CH_XD::TraceTimer::report()
 
#define CH_TIMER_RESET()   CH_XD::TraceTimer::reset()
 
#define CH_TIMER_PRUNE(threshold)   CH_XD::TraceTimer::PruneTimersParentChildPercent(threshold)
 

Functions

double TimerGetTimeStampWC ()
 

Macro Definition Documentation

#define _CH_TIMER_H_
#define CH_TIMER (   name,
  tpointer 
)
Value:
const char* TimerTag_##tpointer = name ; \
CH_XD::TraceTimer* tpointer = CH_XD::TraceTimer::getTimer(TimerTag_##tpointer)
const char * name(const FArrayBox &a_dummySpecializationArg)
Definition: CH_HDF5.H:741

Referenced by BaseEBCellFAB< T >::copy(), ParticleVector< T, Comparator >::memsort(), PetscSolver< T >::setup_solver(), BiCGStabSolver< T >::solve(), GMRESSolver< T >::solve(), PetscSolver< T >::solve_private(), and AMRMultiGrid< T >::solveNoInitResid().

#define CH_TIME (   name)
Value:
const char* TimerTagA = name ; \
char CH_TimermutexA = 0; \
CH_XD::TraceTimer* ch_tpointer = CH_XD::TraceTimer::getTimer(TimerTagA); \
CH_XD::AutoStart autostart(ch_tpointer, &CH_TimermutexA)
const char * name(const FArrayBox &a_dummySpecializationArg)
Definition: CH_HDF5.H:741

Referenced by BoxLayoutData< T >::addTo(), AggStencil< srcData_t, dstData_t >::AggStencil(), AggStencil< srcData_t, dstData_t >::apply(), MultilevelLinearOp< T >::applyOp(), MultilevelLinearOp< T >::assign(), MultilevelLinearOp< T >::axby(), blockWrite(), AggStencil< srcData_t, dstData_t >::cache(), MultilevelLinearOp< T >::clear(), AMRMultiGrid< T >::computeAMRResidual(), AMRMultiGrid< T >::computeAMRResidualLevel(), CoordinateSystem< dim >::CoordinateSystem(), BaseEBCellFAB< T >::copy(), LevelData< T >::copyTo(), MultilevelLinearOp< T >::create(), PetscSolver< T >::create_mat_vec(), MultiGrid< T >::cycle(), MultilevelLinearOp< T >::define(), LevelData< T >::define(), MultiGrid< T >::define(), AMRMultiGrid< T >::define(), MultilevelLinearOp< T >::dotProduct(), LevelData< T >::exchange(), LevelData< T >::exchangeBegin(), LevelData< T >::exchangeEnd(), LevelData< T >::exchangeNoOverlap(), MultilevelLinearOp< T >::incr(), MultiGrid< T >::init(), AMRMultiGrid< T >::init(), BoxLayoutData< T >::makeItSoBegin(), BoxLayoutData< T >::makeItSoLocalCopy(), MultilevelLinearOp< T >::norm(), MultiGrid< T >::oneCycle(), MultilevelLinearOp< T >::preCond(), regionGather(), AMRMultiGrid< T >::relax(), AMRMultiGrid< T >::relaxOnlyHomogeneous(), MultilevelLinearOp< T >::residual(), AMRMultiGrid< T >::revert(), MultilevelLinearOp< T >::scale(), MultilevelLinearOp< T >::setToZero(), BiCGStabSolver< T >::solve(), RelaxSolver< T >::solve(), MergeSolver< T >::solve(), MultiGrid< T >::solve(), AMRMultiGrid< T >::solve(), AMRMultiGrid< T >::solveNoInitResid(), AggStencil< srcData_t, dstData_t >::uncache(), write(), AMRMultiGrid< T >::~AMRMultiGrid(), BoxLayoutData< T >::~BoxLayoutData(), LayoutData< T >::~LayoutData(), LevelData< T >::~LevelData(), and MultilevelLinearOp< T >::~MultilevelLinearOp().

#define CH_TIMELEAF (   name)
Value:
const char* TimerTagA = name ; \
CH_XD::TraceTimer* ch_tpointer = CH_XD::TraceTimer::getTimer(TimerTagA); \
CH_XD::AutoStartLeaf autostart(ch_tpointer)
const char * name(const FArrayBox &a_dummySpecializationArg)
Definition: CH_HDF5.H:741
#define CH_TIMERS (   name)
Value:
const char* TimerTagA = name ; \
char CH_TimermutexA = 0; \
char CH_Timermutex = 0; \
CH_XD::TraceTimer* ch_tpointer = CH_XD::TraceTimer::getTimer(TimerTagA); \
CH_XD::AutoStart autostart(ch_tpointer, &CH_TimermutexA, &CH_Timermutex)
const char * name(const FArrayBox &a_dummySpecializationArg)
Definition: CH_HDF5.H:741

Referenced by BaseEBCellFAB< T >::copy(), ParticleVector< T, Comparator >::memsort(), PetscSolver< T >::setup_solver(), BiCGStabSolver< T >::solve(), GMRESSolver< T >::solve(), PetscSolver< T >::solve_private(), and AMRMultiGrid< T >::solveNoInitResid().

#define CH_START (   tpointer)    tpointer->start(&CH_Timermutex)
#define CH_STOP (   tpointer)    tpointer->stop(&CH_Timermutex)
#define CH_STOPV (   tpointer,
  val 
)    val = tpointer->stop(&CH_Timermutex)
#define CH_TIMER_REPORT ( )    CH_XD::TraceTimer::report()
#define CH_TIMER_RESET ( )    CH_XD::TraceTimer::reset()
#define CH_TIMER_PRUNE (   threshold)    CH_XD::TraceTimer::PruneTimersParentChildPercent(threshold)

Function Documentation

double TimerGetTimeStampWC ( )
inline