38#ifndef Foam_profilingPstream_H
39#define Foam_profilingPstream_H
80 static std::unique_ptr<cpuTime> timer_;
112 suspend_ =
bool(timer_);
122 inline static bool active()
124 return !suspend_ &&
bool(timer_);
144 (void) timer_->cpuTimeIncrement();
153 times_[idx] += timer_->cpuTimeIncrement();
A 1D vector of objects of type <T> with a fixed length <N>.
Timers and values for simple (simplistic) mpi-profiling. The entire class behaves as a singleton.
static void addReduceTime()
Add time increment to reduceTime.
static void addTime(const enum timingType idx)
Add time increment.
static void addBroadcastTime()
Add time increment to broadcastTime.
static void resume()
Resume use of timer (if previously active)
static void addAllToAllTime()
Add time increment to allToAllTime.
static double times(const enum timingType idx)
Access to the timing information at given index.
static void enable()
Create timer for measuring communication, or reset existing.
static bool active()
Timer is active.
static void addScatterTime()
Add time increment to scatterTime.
~profilingPstream()
Destructor, disables global timer.
static void beginTiming()
Update timer prior to measurement.
static void addWaitTime()
Add time increment to waitTime.
static void addGatherTime()
Add time increment to gatherTime.
static void disable()
Remove timer for measuring communication activity.
FixedList< double, 6 > timingList
The timing values.
static void suspend()
Suspend use of timer (if active)
timingType
Enumeration within times array.
profilingPstream()
Default construct, enables global timer.
static timingList & times()
Access to the timing information.