Teuchos - Trilinos Tools Package
Version of the Day
|
Scope guard for Teuchos::Time, with MPI collective timer reporting. More...
#include "Teuchos_PerformanceMonitorBase.hpp"
#include "Teuchos_ParameterList.hpp"
#include "Teuchos_Comm.hpp"
#include "Teuchos_Time.hpp"
#include "Teuchos_CommandLineProcessor.hpp"
Go to the source code of this file.
Classes | |
class | Teuchos::TimeMonitor |
Scope guard for Time, that can compute MPI collective timer statistics. More... | |
class | Teuchos::SyncTimeMonitor |
A TimeMonitor that waits at a MPI barrier before destruction. More... | |
class | Teuchos::TimeMonitorSurrogateImpl |
Implementation of TimeMonitorSurrogate that invokes TimeMonitor. More... | |
class | Teuchos::TimeMonitorSurrogateImplInserter |
Injects run-time dependency of a class on TimeMonitor. More... | |
Namespaces | |
Teuchos | |
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos, as well as a number of utility routines. | |
Macros | |
#define | TEUCHOS_TIMER(funcName, strName) |
Defines a static non-member function that returns a Teuchos timer. More... | |
#define | TEUCHOS_FUNC_TIME_MONITOR_DIFF(FUNCNAME, DIFF) |
Defines a timer for a specific function (with differentiator). More... | |
#define | TEUCHOS_FUNC_TIME_MONITOR(FUNCNAME) TEUCHOS_FUNC_TIME_MONITOR_DIFF( FUNCNAME, main ) |
Defines a timer for a specific function. More... | |
Typedefs | |
typedef std::map< std::string, std::vector< std::pair< double, double > > > | Teuchos::stat_map_type |
Global statistics collected from timer data. More... | |
Scope guard for Teuchos::Time, with MPI collective timer reporting.
An instance of the Teuchos::TimeMonitor class wraps a nonconst reference to a Teuchos::Time timer object. TimeMonitor's constructor starts the timer, and its destructor stops the timer. This ensures scope safety of timers, so that no matter how a scope is exited (whether the normal way or when an exception is thrown), a timer started in the scope is stopped when the scope is left.
TimeMonitor also has class methods that create or destroy timers (in such a way that it can track the complete set of created timers on each process) and compute global timer statistics.
Definition in file Teuchos_TimeMonitor.hpp.
#define TEUCHOS_TIMER | ( | funcName, | |
strName | |||
) |
Defines a static non-member function that returns a Teuchos timer.
Definition at line 47 of file Teuchos_TimeMonitor.hpp.
#define TEUCHOS_FUNC_TIME_MONITOR_DIFF | ( | FUNCNAME, | |
DIFF | |||
) |
Defines a timer for a specific function (with differentiator).
Same as TEUCHOS_FUNC_TIME_MONITOR(...) except required when used more than once in the same function (like a block of code).
Definition at line 61 of file Teuchos_TimeMonitor.hpp.
#define TEUCHOS_FUNC_TIME_MONITOR | ( | FUNCNAME | ) | TEUCHOS_FUNC_TIME_MONITOR_DIFF( FUNCNAME, main ) |
Defines a timer for a specific function.
Note that the name of the timer can be formated with stream inserts. For example, we can define a time monitor for a function as follows:
The timer can then be printed at the end of the program using any of various class methods, including summarize():
Definition at line 93 of file Teuchos_TimeMonitor.hpp.