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::keepTimingClear::clear
-
enum class TimingType - Timing types:
TimingType::wallwall-clock timeTimingType::useruser (cpu) timeTimingType::systemsystem (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(TimingClear clear, std::set<TimingType> type)¶ List a summary of timings and tasks, optionally clearing stored timings.
MPI_AVGreduction is printed. Collective onMPI_COMM_WORLD.- Arguments
- clear (TimingClear)
TimingClear::clearresets stored timingsTimingClear::keepleaves 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_MINandMPI_AVGreductions are stored. Collective onMPI_COMM_WORLD.- Arguments
- filename (std::string)
- output filename; must have
.xmlsuffix; existing file is silently overwritten - clear (TimingClear)
TimingClear::clearresets stored timingsTimingClear::keepleaves 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::clearresets stored timingsTimingClear::keepleaves stored timings intact
- Returns
- std::tuple<std::size_t, double, double, double>
- (count, total wall time, total user time, total system time)