使用chrono库可高精度测量函数执行时间。包含头文件并使用high_resolution_clock记录函数前后时间点,通过duration_cast转换为微秒、毫秒等单位输出,适用于不同耗时场景,避免在热路径中测量影响性能评估。

在C++中,使用chrono库可以高精度地测量函数的执行时间。这是C++11引入的标准库,避免了传统time.h方式的低精度问题。下面介绍如何用它准确测量一个函数的运行时长。
包含头文件并使用命名空间
要使用chrono库,首先需要包含相应的头文件:
#include#include iostream>
为了简化代码,可以使用命名空间:
using namespace std::chrono;使用high_resolution_clock测量时间
推荐使用high_resolution_clock,它是系统提供的最高精度时钟。基本步骤是:记录函数调用前的时间点,调用函数,再记录调用后的时间点,最后计算差值。
立即学习“C++免费学习笔记(深入)”;
示例代码:
// 记录开始时间auto start = high_resolution_clock::now();
// 调用目标函数
your_function();
// 记录结束时间
auto end = high_resolution_clock::now();
// 计算运行时间
auto duration = duration_cast
// 输出结果
std::cout
选择合适的时间单位
chrono支持多种时间单位,可根据函数执行时长选择合适的单位显示:
- nanoseconds:纳秒,适合极短操作
- microseconds:微秒,常用精度
- milliseconds:毫秒,适合较长函数
- seconds:秒,适合耗时任务
例如,若想以毫秒输出:
auto duration = duration_caststd::cout
基本上就这些。只要掌握now()获取时间点、duration_cast转换时长、以及选择合适的单位,就能准确测量任意函数的执行时间。注意避免将测量代码放在频繁调用的热路径中,以免影响性能评估。











