14 std::chrono::high_resolution_clock::time_point
startTime;
16 static std::map<std::string, double>
timings;
20 startTime = std::chrono::high_resolution_clock::now();
30 auto endTime = std::chrono::high_resolution_clock::now();
31 auto duration = std::chrono::duration_cast<std::chrono::microseconds>(endTime -
startTime).count();
37 static double getTime(
const std::string& timerName) {
38 auto it =
timings.find(timerName);
45 out <<
"===== ScopeTimer Results =====\n";
46 for (
const auto& timing :
timings) {
47 out << timing.first <<
": " << timing.second <<
" us\n";
49 out <<
"============================\n";
53#define FCTSCOPETIMER(name) FCT::ScopeTimer name##Timer(#name)
ScopeTimer(const std::string &timerName)
static void printAll(std::ostream &out=fout)
static std::map< std::string, double > timings
static double getTime(const std::string &timerName)
std::chrono::high_resolution_clock::time_point startTime