1. chrono header

C++ 之前没有标准的测量某段代码耗时的工具,只能依赖Boost等外部库。C++ 11 提供chrono头文件,可用于测量代码耗时:

  • system_clock;
  • high_resolution_clock;
  • steady_clock

一般使用steady_clock,因为它能保证t1 < t2永远为真。

2. 测量代码耗时示例:

auto start = std::chrono::steady_clock::now();
//
// 要测量的代码
//
auto end = std::chrono::steady_clock::now();

// 耗时
auto diff = end - start;

// 定制打印方式
std::cout << std::chrono::duration<double, milli> (diff).count() << " ms\n";
std::cout << std::chrono::duration<double, nano> (diff).count() << " ns\n";
std::cout << std::chrono::duration_cast<std::chrono::nanoseconds> (diff).count() << " ns\n"; //取整

3. 参考