TWOBUFQUEUE · 文档

性能测试导航

English · 简体中文

按测试场景选择子目录。库的默认构建不依赖性能测试组件。测试口径见性能测试说明,参数见可调整的对比测试。

本页目录

一、选择测试

目录 测什么 从这里开始
spsc/ 普通 write、WriteSession 与开源 SPSC 队列对比 运行对比 · 遍历参数
burst/ 连续发送一批消息后,业务执行受到什么影响 运行实验 · 测试说明
block_size/ 遍历 writer 块大小,分别测试完整流水线和单独 writer 完整流水线 · 单独 writer
hot_path/ 生产者内存占用与业务热缓存实验 运行实验 · 测试说明
tunable/ 共用的 C++ 负载、队列适配和参数处理 供各测试程序使用
common/ 共用的进程资源统计 供 C++ 测试使用
profiles/ 保存的负载与参数配置 传给对应脚本
guides/ 参数和实验说明 SPSC 对比指南

二、构建测试程序

从项目根目录运行:

Shell
python3 benchmarks/spsc/bootstrap_spsc.py --check-only
cmake -S . -B build-bench -DCMAKE_BUILD_TYPE=Release -DBRQ_BUILD_SPSC_BENCHMARKS=ON
cmake --build build-bench --parallel
ctest --test-dir build-bench --output-on-failure -L performance_harness

固定版本的头文件和许可证已包含在 third_party/spsc/,上面的命令只校验本地文件,无需联网。具体见第三方依赖说明。run_release_benchmarks.py 运行对比并保存复现信息;tune_spsc.py 在给定内存预算中遍历参数;plot_release.py 只根据保存的数据画图,不重跑测试。

统计内存池深度的块大小实验另需 BRQ_ENABLE_POOL_DEPTH_STATS=ON。正式性能对比使用默认未启用深度统计的构建。测试程序名称和命令行参数保持一致。

BRQ_BUILD_BENCHMARKS 和 BRQ_BUILD_COMPARISON 已停用;历史实验保留在原开发目录。