Name
TAU_MAPPING_PROFILE_TIMER — Declares a mapping timer
Synopsis
C/C++:
TAU_MAPPING_PROFILE_TIMER( |
timer, | |
FuncIdVar);
|
| Profiler | timer; |
| FunctionInfo * | FuncIdVar; |
Description
TAU_MAPPING_PROFILE_TIMER enables timing
of individual statements, instead of complete blocks. It will attribute
the time to a higher-level statement. The second argument is the
identifier of the statement that is obtained after
TAU_MAPPING_OBJECT and
TAU_MAPPING_LINK have executed. The timer argument in
this macro is any variable that is used subsequently to start and stop
the timer.
Example
C/C++ :
template<class LHS,class Op,class RHS,class EvalTag>
void
ExpressionKernel<LHS,Op,RHS,EvalTag>::run() {
TAU_MAPPING_PROFILE_TIMER(timer, TauMapFI);
printf("ExpressionKernel::run() this = 4854\n", this);
// Just evaluate the expression.
TAU_MAPPING_PROFILE_START(timer);
KernelEvaluator<EvalTag>().evaluate(lhs_m, op_m, rhs_m);
TAU_MAPPING_PROFILE_STOP();
// we could release the locks here instead of in the dtor.
}