#include "Teuchos_ConfigDefs.hpp"
#include "Teuchos_PerformanceMonitorBase.hpp"
#include "Teuchos_Time.hpp"
Go to the source code of this file.
Classes | |
class | Teuchos::TimeMonitor |
A timer class that starts when constructed and stops when the destructor is called. More... | |
Namespaces | |
namespace | Teuchos |
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos, as well as a number of utility routines. | |
Defines | |
#define | TEUCHOS_TIMER(funcName, strName) |
Defines a static non-member function that returns a time monitor. | |
#define | TEUCHOS_FUNC_TIME_MONITOR(FUNCNAME) |
Defines a timer for a specific function. |
Definition in file Teuchos_TimeMonitor.hpp.
#define TEUCHOS_FUNC_TIME_MONITOR | ( | FUNCNAME | ) |
Value:
static Teuchos::RCP<Teuchos::Time> blabla_localTimer; \ if(!blabla_localTimer.get()) { \ std::ostringstream oss; \ oss << FUNCNAME; \ blabla_localTimer = Teuchos::TimeMonitor::getNewCounter(oss.str()); \ } \ Teuchos::TimeMonitor blabla_localTimeMonitor(*blabla_localTimer)
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:
template<typename Scalar> void foo() { TEUCHOS_FUNC_TIME_MONITOR( "foo<"<<Teuchos::ScalarTraits<Scalar>::name()<<">()" ); ... }
The timer can then be printed at the end of the program using
Teuchos::TimeMonitor::summarize(std::cout);
Definition at line 85 of file Teuchos_TimeMonitor.hpp.
#define TEUCHOS_TIMER | ( | funcName, | |||
strName | ) |
Value:
static Teuchos::Time& funcName() \ {static Teuchos::RCP<Time> rtn = \ Teuchos::TimeMonitor::getNewCounter(strName); return *rtn;}
Definition at line 52 of file Teuchos_TimeMonitor.hpp.