Untitled
unknown
plain_text
8 months ago
995 B
5
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