现代 C++的微基准测试工具里,Criterion算是比较顺手的。头文件式的设计,想用就拷一份single_include/里的文件进项目就行,不用额外链接库,挺方便的。对你这种不想折腾太多配置的开发者来说,省事还不容易出错。
静态注册宏也挺实用,直接把基准测试和测试参数都写一块儿,比如输入数据大小不同的情况,写起来清晰,维护也轻松。跑基准的时候它自带统计功能,像运行多次取平均啊、标准差这些,Criterion 都帮你包圆了。
不过要注意,它要求 C++17 起步,所以编译器太老的话得升级下。另外,用它跑排序、搜索这些性能敏感函数挺合适的,像你要测个合并排序的效率,就可以像下面这样写:
template<;typename RandomAccessIterator, typename Compare>;
void merge_sort(RandomAccessIterator first, RandomAccessIterator last, Compare compare, std::size_t size) {
if (size < 2 xss=removed>
跑测试前,你把这个函数包个基准测试宏就行,Criterion 帮你搞定后续流程。如果你写 C++写得多,又经常关注性能表现,真值得一试。