Untitled
unknown
plain_text
4 months ago
995 B
4
Indexable
class Timer { public: #ifdef TIME_MEASUREMENT Timer(const std::string& name, float* time_output = nullptr) : name_(name), time_output_(time_output) { time_start_ = 0; time_end_ = 0; time_start_ = std::chrono::duration_cast<microseconds>( steady_clock::now().time_since_epoch()) .count(); LOG_INFO("timer start ..."); } ~Timer() { time_end_ = std::chrono::duration_cast<microseconds>( steady_clock::now().time_since_epoch()) .count(); float msec = (float)(time_end_ - time_start_) / 1000.f; if (time_output_ != nullptr) { *time_output_ = msec; } LOG_INFO(name_.c_str() << " Used Time: " << msec << " ms"); } #else Timer(const std::string& funcName) {} ~Timer() {} #endif private: Timer() {} Timer& operator=(const Timer& obj) { return *this; } private: std::string name_; uint64_t time_start_; uint64_t time_end_; float* time_output_; };
Editor is loading...
Leave a Comment