From d91bfe2d12d0fb5daf2be0a7587045d85a50c4a1 Mon Sep 17 00:00:00 2001 From: Scheaven <xuepengqiang> Date: 星期四, 12 八月 2021 19:12:17 +0800 Subject: [PATCH] m --- src/utils/timer_utils.hpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-) diff --git a/src/utils/timer_utils.hpp b/src/utils/timer_utils.hpp new file mode 100644 index 0000000..dafccbb --- /dev/null +++ b/src/utils/timer_utils.hpp @@ -0,0 +1,38 @@ +#pragma once + +#include <istream> +#include <string> +#include <chrono> +#include "log_util.h" +#include <boost/format.hpp> + +class Timer +{ + public: + Timer():beg_(clock_::now()){} + void reset() + { + beg_ = clock_::now(); + } + double elapsed() const + { + return std::chrono::duration_cast<second_>(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<double,std::milli>; + std::chrono::time_point<clock_>beg_; +}; -- Gitblit v1.8.0