C++测代码执行速度

头文件

使用 C++11 标准库 <chrono> 头文件:

1
#include <chrono>

核心 API

类型/函数 作用
std::chrono::high_resolution_clock::now() 获取当前时间点(纳秒级高精度)
std::chrono::duration<double, std::milli> 转换为毫秒 double 类型
.count() 提取数值

实现例子

1
2
3
4
auto start_total = std::chrono::high_resolution_clock::now();
// ... 被测代码 ...
auto end_total = std::chrono::high_resolution_clock::now();
double total_ms = std::chrono::duration<double, std::milli>(end_total - start_total).count();

嵌入式注意事项

  1. 编译开销std::chrono 略有开销(构造函数),但高精度时钟适合调试
  2. 开关控制:用 ENABLE_DEBUG_INFO 宏包裹,发布时关闭
  3. 输出开销printf 本身耗时较长,实测时会拉高 Total 值