21#ifndef VOTCA_XTP_DFTTIMINGS_H
22#define VOTCA_XTP_DFTTIMINGS_H
47 using Clock = std::chrono::steady_clock;
57 std::chrono::duration<double>(Clock::now() -
start_).count();
58 double nested =
timings_.nested_.back();
92 return std::chrono::duration<double>(Clock::now() -
start_).count();
106 if (
e.name == name) {
Scope(const Scope &)=delete
Scope(DFTTimings &timings, std::string name)
Scope & operator=(const Scope &)=delete
Wall-clock accounting for the parts of a DFT run.
void AddEntry(const std::string &name, double seconds)
std::vector< Entry > entries_
std::vector< double > nested_
void Add(const std::string &name, double seconds)
void Report(Logger &log, Log::Level level) const
Table of all entries with their share of the time since Reset().
Scope Measure(const std::string &name)
std::chrono::steady_clock Clock
static double ResidentMemoryGB(bool peak)
Logger is used for thread-safe output of messages.
Provides a means for comparing floating point numbers.