Grok 12.0.1
ChronoTimer.h
Go to the documentation of this file.
1#pragma once
2
3#include <chrono>
4#include <string>
5
6namespace grk
7{
8
10{
11 public:
12 ChronoTimer(std::string msg) : message(msg) {}
13 void start(void)
14 {
15 startTime = std::chrono::high_resolution_clock::now();
16 }
17 void finish(void)
18 {
19 auto finish = std::chrono::high_resolution_clock::now();
20 std::chrono::duration<double> elapsed = finish - startTime;
21 Logger::logger_.info("%s : %f ms", message.c_str(), elapsed.count() * 1000);
22 }
23
24 private:
25 std::string message;
26 std::chrono::high_resolution_clock::time_point startTime;
27};
28
29} // namespace grk
Definition ChronoTimer.h:10
ChronoTimer(std::string msg)
Definition ChronoTimer.h:12
void start(void)
Definition ChronoTimer.h:13
std::chrono::high_resolution_clock::time_point startTime
Definition ChronoTimer.h:26
std::string message
Definition ChronoTimer.h:25
void finish(void)
Definition ChronoTimer.h:17
Copyright (C) 2016-2024 Grok Image Compression Inc.
Definition ICacheable.h:20
void grk_read(const uint8_t *buffer, TYPE *value, uint32_t numBytes)
Definition BufferedStream.h:239
void info(const char *fmt,...) override
Definition Logger.h:35
static Logger logger_
Definition Logger.h:70