timing.h¶
Note
The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.
-
enum class TimingClear
- Parameter specifying whether to clear timing(s):
TimingClear::keep
TimingClear::clear
-
enum class TimingType
- Timing types:
TimingType::wall
wall-clock timeTimingType::user
user (cpu) timeTimingType::system
system (kernel) time
Precision of wall is around 1 microsecond, user and system are around 10 millisecond (on Linux).
-
void
tic
()¶ Start timing (should not be used internally in DOLFIN!)
-
double
toc
()¶ Return elapsed wall time (should not be used internally in DOLFIN!)
-
double
time
()¶ Return wall time elapsed since some implementation dependent epoch
-
Table
timings
(TimingClear clear, std::set<TimingType> type)¶ Return a summary of timings and tasks in a
Table
, optionally clearing stored timings
-
void
list_timings
(bool reset = false)¶ DEPRECATED: List a summary of timings and tasks, optionally clearing stored timings.
MPI_AVG
reduction is printed. Collective onMPI_COMM_WORLD
. Only wall time is printed.
-
void
list_timings
(TimingClear clear, std::set<TimingType> type)¶ List a summary of timings and tasks, optionally clearing stored timings.
MPI_AVG
reduction is printed. Collective onMPI_COMM_WORLD
.- Arguments
- clear (TimingClear)
TimingClear::clear
resets stored timingsTimingClear::keep
leaves stored timings intact
- type (std::set<TimingType>)
- subset of
{ TimingType::wall, TimingType::user, TimingType::system }
-
void
dump_timings_to_xml
(std::string filename, TimingClear clear)¶ Dump a summary of timings and tasks to XML file, optionally clearing stored timings.
MPI_MAX
,MPI_MIN
andMPI_AVG
reductions are stored. Collective onMPI_COMM_WORLD
.- Arguments
- filename (std::string)
- output filename; must have
.xml
suffix; existing file is silently overwritten - clear (TimingClear)
TimingClear::clear
resets stored timingsTimingClear::keep
leaves stored timings intact
-
std::tuple<std::size_t, double, double, double>
timing
(std::string task, TimingClear clear)¶ Return timing (count, total wall time, total user time, total system time) for given task, optionally clearing all timings for the task
- Arguments
- task (std::string)
- name of a task
- clear (TimingClear)
TimingClear::clear
resets stored timingsTimingClear::keep
leaves stored timings intact
- Returns
- std::tuple<std::size_t, double, double, double>
- (count, total wall time, total user time, total system time)