Profiles a block based on a mapping
macro measures the time and attributes it to the statement mapped in
macro. It takes as its argument the identifier of the higher level statement that is stored using
and linked to the statement using
measures the time spent in the entire block in which it is invoked. For example, if the time spent in the run method of the class does work that must be associated with the higher-level array expression, then, we can instrument it as follows:
// Evaluate the kernel
// Just tell an InlineEvaluator to do it.
template<class LHS,class Op,class RHS,class EvalTag>
// Just evaluate the expression.
// we could release the locks here or in dtor