#pragma once #include #include class MyTimer { public: explicit MyTimer(const std::string &name) { _name = name; _start = std::chrono::steady_clock::now(); } ~MyTimer() { _end = std::chrono::steady_clock::now(); auto duration = std::chrono::duration_cast(_end - _start).count(); std::printf("%s cast %dms\n", _name.c_str(), duration); } private: std::chrono::time_point _start; std::chrono::time_point _end; std::string _name; }; #define TIMER() MyTimer __timer(__FUNCTION__);