#pragma once #include #include #include #include "log_util.h" #include class Timer { public: Timer():beg_(clock_::now()){} void reset() { beg_ = clock_::now(); } double elapsed() const { return std::chrono::duration_cast(clock_::now() - beg_).count(); } void out(std::string message="") { double t = elapsed(); // std::cout << message << " elasped time:" << t << "ms" << std::endl; DEBUG((boost::format("%e lasped time:%f ms")%message %t).str()); reset(); } // DEBUG((boost::format("nhao%d")%1).str()); double get_duration() const { return elapsed(); } private: using clock_ = std::chrono::high_resolution_clock; using second_=std::chrono::duration; std::chrono::time_pointbeg_; };