high_resolution_clock 是 C++11 标准中的一个时间库类,定义在 头文件中。它提供了最精确的时间测量,适合用于需要高精度计时的场景。
主要特点:
- 高精度:high_resolution_clock 提供了比其他时钟类(如 system_clock 和 steady_clock)更高的时间分辨率。
- 时间点和时间间隔:可以获取当前时间点,并计算时间间隔(持续时间)。
常用方法:
- now():获取当前时间点。
- duration_cast<>():将时间间隔转换为不同的单位(如毫秒、微秒等)
std::chrono::duration_cast<目标单位>(原始时间间隔)
#include <chrono>
auto start = std::chrono::high_resolution_clock::now();
int ret = init();
auto end = std::chrono::high_resolution_clock::now();
//duration_cast<milliseconds> 将 end - start 计算出的时间间隔(默认为秒)转换为毫秒
auto duration = duration_cast<std::chrono::milliseconds>(end - start).count();
LogUtil::info(TAG,("init time = " + std::to_string(duration)).c_str());