TwoBufQueue
947.96
ReaderWriterQueue
742.41
rigtorp/SPSCQueue
362.93
atomic_queue
133.78
固定长度、不写长度前缀的 TwoBufQueue,与三种开源 SPSC 队列对比。TwoBufQueue 包含完整第二层复制与独立回调线程;第三方使用原生消费线程逐条回调。
条形长度仅在同一消息长度内比较。单位 M条/s = 每秒百万条消息。
TwoBufQueue 的第一层与第二层各 8 MiB,合计 16 MiB;三种开源 SPSC 请求 8 MiB。ReaderWriterQueue 已按内部512槽位块下调请求,分配的数据槽位恰好8 MiB,可用数据容量约7.984 MiB。
每条消息的模拟业务循环为 0;仍保留逐消息回调、序号/条数校验和队列自身的消费工作。
本页只测试16、32、64 B。每种长度完整遍历270组TwoBufQueue参数和每种开源队列9组参数,共891组;每组先校验一千万条完整字节和FIFO,再分别测吞吐与分组耗时,每项5次。最后候选把三种长度和各队列交错复测,保留全部测量,未剔除异常值。
每层消息数据区严格8 MiB,合计16 MiB;块大小64 KiB/256 KiB/1 MiB/2 MiB/4 MiB,分别配128/32/8/4/2块,池不增长,至少2块。块和队列管理元数据、计时前准备的输入不计入消息数据区;这个预算不等于进程RSS。
全过程关闭当前块扫描,发布批次为UINT32_MAX,业务回调循环为0,两层复制与独立回调线程保留。每轮写入约6.4 MiB,尾块交接和等待回调在发送计时之外。高QoS,接电源,未硬绑核。
吞吐、p50、p99、p999各自选优,表中的一行不是一个配置同时实现全部指标。参数遍历、校验和正式复测使用同一完整Release二进制;延时是每组1000次write的平均耗时分位数,不是单次write或端到端消息延时。
ReaderWriterQueue请求条数下调到内部512槽位块的数据区恰好8 MiB;每块保留1个槽位,因此可用消息容量约7.984 MiB。其余原生对照的数据容量8 MiB。第三方原文件、外部Payload复制代码和计时发送循环均未修改。
32 B尚未做到全部对照中最低p50:TwoBufQueue为1.742 ns,ReaderWriterQueue为1.658 ns,差约5%。16 B最大批次的吞吐明显改善,但仍未超过此前有限发布批次约1115 M条/s;不能宣称这两项差距已消除。
每个指标先按单次运行计算,再取 5 次算术平均。TwoBufQueue 整行加粗并加边框。各指标使用独立选择的配置。
| 实现 | 吞吐 M条/s · 下方为范围 | 有效负载 GB/s | p50 ns / 次 | p99 ns / 次 | p999 ns / 次 | 回调区间 / 写入 墙钟时间比 | 回调循环 次 / 消息 | 分轮 轮 / 运行 |
|---|---|---|---|---|---|---|---|---|
| 16 B | ||||||||
| TwoBufQueue | 947.96935.41 – 960.76 | 15.167 | 0.792 | 1.650 | 2.825 | 3.24× | 0 | 24 |
| ReaderWriterQueue | 742.41712.08 – 757.25 | 11.879 | 1.292 | 2.092 | 4.667 | 3.09× | 0 | 24 |
| rigtorp/SPSCQueue | 362.93360.22 – 364.41 | 5.807 | 2.708 | 3.192 | 6.317 | 1.09× | 0 | 24 |
| atomic_queue | 133.78132.38 – 134.88 | 2.141 | 6.842 | 25.433 | 34.267 | 1.01× | 0 | 24 |
| 32 B | ||||||||
| TwoBufQueue | 547.35542.91 – 550.33 | 17.515 | 1.742 | 2.792 | 6.408 | 2.06× | 0 | 48 |
| ReaderWriterQueue | 571.04559.47 – 583.53 | 18.273 | 1.658 | 3.067 | 6.108 | 2.53× | 0 | 48 |
| rigtorp/SPSCQueue | 301.55300.12 – 303.58 | 9.650 | 3.258 | 4.225 | 8.758 | 1.00× | 0 | 48 |
| atomic_queue | 89.4482.80 – 91.91 | 2.862 | 8.875 | 31.983 | 45.692 | 1.00× | 0 | 48 |
| 64 B | ||||||||
| TwoBufQueue | 451.38449.28 – 456.50 | 28.889 | 2.042 | 4.192 | 6.825 | 1.49× | 0 | 96 |
| ReaderWriterQueue | 279.65267.39 – 285.61 | 17.898 | 3.417 | 7.908 | 13.975 | 1.20× | 0 | 96 |
| rigtorp/SPSCQueue | 228.70222.36 – 231.24 | 14.637 | 4.283 | 5.600 | 9.992 | 1.00× | 0 | 96 |
| atomic_queue | 72.5270.54 – 73.75 | 4.641 | 10.517 | 19.275 | 33.458 | 1.01× | 0 | 96 |
p50 / p99 / p999 是“每组 1000 次成功写入的平均耗时”的分位数,不是单条消息端到端延时,也不是单次 write 的分位数。吞吐使用独立的未逐组计时运行。GB/s 按业务净负载计算。时间比 = 各轮首条回调开始至末条回调结束的耗时之和 ÷ 各轮写线程发送耗时之和,再对运行取平均;它包含分发、等待数据和调度,不是每次回调函数 CPU 耗时之和。
与吞吐表使用同一批正式运行。时间、次数按运行取平均;峰值 RSS 为这组运行的最大值。
| 实现 | 写线程 ms | 回调区间 ms | 受压消息 条 / 次运行 | 失败尝试 次 / 运行 | 重试时间 ms | Writer 压力 内部事件 | 复制层拒绝 内部事件 | 峰值 RSS MiB |
|---|---|---|---|---|---|---|---|---|
| 16 B | ||||||||
| TwoBufQueue | 10.55 | 34.23 | 0.0 | 0.0 | 0.000 | 0 | 0 | 24.2 |
| ReaderWriterQueue | 13.48 | 41.63 | 0.0 | 0.0 | 0.000 | — | — | 16.8 |
| rigtorp/SPSCQueue | 27.55 | 29.92 | 0.0 | 0.0 | 0.000 | — | — | 16.2 |
| atomic_queue | 74.75 | 75.68 | 0.0 | 0.0 | 0.000 | — | — | 16.6 |
| 32 B | ||||||||
| TwoBufQueue | 18.27 | 37.72 | 0.0 | 0.0 | 0.000 | 0 | 0 | 24.3 |
| ReaderWriterQueue | 17.52 | 44.25 | 0.0 | 0.0 | 0.000 | — | — | 16.4 |
| rigtorp/SPSCQueue | 33.16 | 33.12 | 0.0 | 0.0 | 0.000 | — | — | 16.2 |
| atomic_queue | 111.98 | 112.50 | 0.0 | 0.0 | 0.000 | — | — | 16.4 |
| 64 B | ||||||||
| TwoBufQueue | 22.15 | 33.02 | 0.0 | 0.0 | 0.000 | 0 | 0 | 24.3 |
| ReaderWriterQueue | 35.78 | 43.08 | 0.0 | 0.0 | 0.000 | — | — | 20.2 |
| rigtorp/SPSCQueue | 43.73 | 43.75 | 0.0 | 0.0 | 0.000 | — | — | 16.2 |
| atomic_queue | 137.93 | 139.93 | 0.0 | 0.0 | 0.000 | — | — | 16.2 |
受压消息至少经历一次 try 写入失败;失败尝试含重复重试,最终仍全部写入。Writer 与复制层内部事件仅 TwoBufQueue 提供,其他实现显示“—”,不能把“—”解释为 0。回调区间含分发、轮内等待及调度,时间比大于 1 本身不等于写端背压。RSS 包含进程开销,不等于缓存容量。
展开查看全部 5 次吞吐及分位数。各指标来自各自最优配置的独立测量。没有剔除异常值,也没有将多个运行的样本合并计算分位数。
| 实现 / 指标 | 第 1 次 | 第 2 次 | 第 3 次 | 第 4 次 | 第 5 次 | 平均 |
|---|---|---|---|---|---|---|
| TwoBufQueue吞吐 M条/s | 960.765 | 947.175 | 940.365 | 956.076 | 935.407 | 947.958 |
| TwoBufQueuep50 ns | 0.792 | 0.792 | 0.792 | 0.792 | 0.792 | 0.792 |
| TwoBufQueuep99 ns | 1.708 | 1.708 | 1.625 | 1.625 | 1.583 | 1.650 |
| TwoBufQueuep999 ns | 2.833 | 3.458 | 2.250 | 2.375 | 3.208 | 2.825 |
| ReaderWriterQueue吞吐 M条/s | 747.913 | 712.082 | 754.231 | 757.248 | 740.588 | 742.412 |
| ReaderWriterQueuep50 ns | 1.292 | 1.292 | 1.292 | 1.292 | 1.292 | 1.292 |
| ReaderWriterQueuep99 ns | 2.375 | 1.833 | 1.958 | 2.333 | 1.958 | 2.092 |
| ReaderWriterQueuep999 ns | 4.667 | 2.500 | 3.875 | 9.000 | 3.292 | 4.667 |
| rigtorp/SPSCQueue吞吐 M条/s | 360.219 | 362.790 | 363.057 | 364.184 | 364.409 | 362.932 |
| rigtorp/SPSCQueuep50 ns | 2.708 | 2.708 | 2.708 | 2.708 | 2.708 | 2.708 |
| rigtorp/SPSCQueuep99 ns | 3.125 | 3.208 | 3.125 | 3.333 | 3.167 | 3.192 |
| rigtorp/SPSCQueuep999 ns | 5.667 | 5.708 | 6.750 | 6.708 | 6.750 | 6.317 |
| atomic_queue吞吐 M条/s | 133.554 | 134.787 | 133.316 | 134.879 | 132.383 | 133.784 |
| atomic_queuep50 ns | 6.708 | 6.625 | 7.125 | 6.833 | 6.917 | 6.842 |
| atomic_queuep99 ns | 24.125 | 27.375 | 26.000 | 25.208 | 24.458 | 25.433 |
| atomic_queuep999 ns | 31.375 | 39.083 | 33.125 | 35.708 | 32.042 | 34.267 |
| 实现 / 指标 | 第 1 次 | 第 2 次 | 第 3 次 | 第 4 次 | 第 5 次 | 平均 |
|---|---|---|---|---|---|---|
| TwoBufQueue吞吐 M条/s | 547.886 | 550.331 | 547.603 | 548.044 | 542.905 | 547.354 |
| TwoBufQueuep50 ns | 1.708 | 1.750 | 1.750 | 1.750 | 1.750 | 1.742 |
| TwoBufQueuep99 ns | 2.833 | 2.875 | 2.667 | 2.625 | 2.958 | 2.792 |
| TwoBufQueuep999 ns | 6.458 | 6.458 | 6.458 | 6.667 | 6.000 | 6.408 |
| ReaderWriterQueue吞吐 M条/s | 559.474 | 570.235 | 583.531 | 574.104 | 567.865 | 571.042 |
| ReaderWriterQueuep50 ns | 1.667 | 1.667 | 1.625 | 1.667 | 1.667 | 1.658 |
| ReaderWriterQueuep99 ns | 3.250 | 3.000 | 2.833 | 3.417 | 2.833 | 3.067 |
| ReaderWriterQueuep999 ns | 6.333 | 5.625 | 6.417 | 7.500 | 4.667 | 6.108 |
| rigtorp/SPSCQueue吞吐 M条/s | 303.577 | 301.184 | 300.119 | 300.164 | 302.718 | 301.552 |
| rigtorp/SPSCQueuep50 ns | 3.250 | 3.292 | 3.250 | 3.250 | 3.250 | 3.258 |
| rigtorp/SPSCQueuep99 ns | 3.875 | 5.417 | 3.958 | 3.750 | 4.125 | 4.225 |
| rigtorp/SPSCQueuep999 ns | 5.333 | 10.875 | 9.375 | 6.750 | 11.458 | 8.758 |
| atomic_queue吞吐 M条/s | 90.276 | 90.964 | 91.242 | 82.805 | 91.907 | 89.439 |
| atomic_queuep50 ns | 8.458 | 9.125 | 8.583 | 8.875 | 9.333 | 8.875 |
| atomic_queuep99 ns | 27.042 | 33.833 | 30.917 | 34.375 | 33.750 | 31.983 |
| atomic_queuep999 ns | 44.792 | 45.375 | 48.583 | 44.292 | 45.417 | 45.692 |
| 实现 / 指标 | 第 1 次 | 第 2 次 | 第 3 次 | 第 4 次 | 第 5 次 | 平均 |
|---|---|---|---|---|---|---|
| TwoBufQueue吞吐 M条/s | 451.035 | 450.576 | 456.497 | 449.528 | 449.280 | 451.383 |
| TwoBufQueuep50 ns | 2.042 | 2.042 | 2.042 | 2.042 | 2.042 | 2.042 |
| TwoBufQueuep99 ns | 4.042 | 4.375 | 4.167 | 4.125 | 4.250 | 4.192 |
| TwoBufQueuep999 ns | 6.875 | 6.917 | 6.625 | 7.042 | 6.667 | 6.825 |
| ReaderWriterQueue吞吐 M条/s | 285.611 | 276.992 | 267.390 | 283.208 | 285.051 | 279.650 |
| ReaderWriterQueuep50 ns | 3.667 | 3.292 | 3.333 | 3.417 | 3.375 | 3.417 |
| ReaderWriterQueuep99 ns | 10.208 | 6.875 | 7.375 | 7.667 | 7.417 | 7.908 |
| ReaderWriterQueuep999 ns | 21.875 | 11.792 | 12.542 | 12.542 | 11.125 | 13.975 |
| rigtorp/SPSCQueue吞吐 M条/s | 228.783 | 230.297 | 231.243 | 222.359 | 230.815 | 228.699 |
| rigtorp/SPSCQueuep50 ns | 4.250 | 4.333 | 4.250 | 4.250 | 4.333 | 4.283 |
| rigtorp/SPSCQueuep99 ns | 5.417 | 5.333 | 5.250 | 5.333 | 6.667 | 5.600 |
| rigtorp/SPSCQueuep999 ns | 10.000 | 9.958 | 9.292 | 9.500 | 11.208 | 9.992 |
| atomic_queue吞吐 M条/s | 72.639 | 70.539 | 73.754 | 72.261 | 73.406 | 72.520 |
| atomic_queuep50 ns | 10.417 | 10.500 | 10.500 | 10.667 | 10.500 | 10.517 |
| atomic_queuep99 ns | 18.958 | 20.708 | 18.125 | 20.583 | 18.000 | 19.275 |
| atomic_queuep999 ns | 31.458 | 40.167 | 32.417 | 30.417 | 32.833 | 33.458 |
所有逐次测量值都已保留,未删除低值。
已确认的实验事实与尚未确认的硬件原因分开描述。
本次生产代码只采用一项可选优化:MAX发布模式增加线程私有的剩余容量计数。普通写入检查剩余容量、复制、推进本地指针;结束状态、申请和换块检查集中到冷路径。成功取得块后,编译器使用已有“地址非空”不变量消除重复返回值判断。默认关闭,通过Writer最后一个模板参数选择,不增加逐条运行时开关。
容量计数在finish、finish_block和交接失败时归零,防止继续使用已交出的块;flush仍发布已复制完成的本地指针。普通发布策略、同步回调、长度编码与数据复制方式保持原有行为。Writer和SeqWriter均支持此策略。
16 B异常可重复,改善也可重复,但没有完全解决:关闭当前扫描的旧实现同条件复测,batch=32约1078 M条/s,MAX约577 M条/s;新的MAX容量计数版本同条件约911 M条/s,最终调参约948 M条/s。MAX最优p50约0.792 ns,低于此前有限批次报告约0.908 ns;吞吐仍低于旧有限批次约1115 M条/s。旧有限批次读取探针未读到当前块,不能把优势解释为偷偷开启扫描。
删除发布倒计时会改变编译器生成的循环;诊断中保留一个不发布的人工倒计时也能显著改变吞吐,说明不能用“少了atomic所以一定更快”推断。人工倒计时没有用于正式测试或生产优化。能够确认的是代码路径与指令组织影响很大;没有硬件性能计数证据,尚不能确切归因于某一种CPU停顿、缓存争用或流水线瓶颈。
为什么32、64 B和16 B差很多:同配置对照表显示容量计数仅对16 B收益明显。32、64 B使用原有策略;三者原有策略的p50约1.583、1.725、2.000 ns。16 B单独加速是最终延时差距的重要来源,不能全部归因于消息长度。32 B每条复制字节是16 B的2倍,64 B是4倍;但每字节成本不线性增长,最优字节吞吐反而从15.17增至17.52、28.89 GB/s。
4 MiB块下,32 B每块容纳131072条、64 B每块65536条,每组仅1000次;换块已经是少数计时组的操作,不能继续用原来64 KiB块的“约49%组包含换块”解释新的p50。
32 B的具体未达目标:TwoBufQueue五次p50为1.708/1.750/1.750/1.750/1.750 ns;ReaderWriterQueue为1.667/1.667/1.625/1.667/1.667 ns。均值差0.083 ns、约5%,本轮不是删掉异常值造成。两者内部容量检查、游标发布和线程数不同,TwoBufQueue还保留并发第二层复制,但这些结构差异不足以证明这0.083 ns的确切硬件原因。不能宣称其无法继续优化,也不能宣称已经最低。
已试过提前推进指针、派生游标、固定长度槽位、编译器屏障、寄存器复制和编译选项等变体;未得到32、64 B稳定的额外改善,因此没有加入生产代码。部分诊断使用缩小的编译入口,其数字不进入正式对比表。业务循环为0仍有消费与回调开销;本轮正式运行写入失败和内部背压均为0。
源/输出均4 MiB × 2,队列容量8,输出帧1024,spin=0,rescan=1 ms;同一完整二进制,每项5次,全部字节校验通过。
| 长度 | 原策略 M条/s | 容量计数 M条/s | 原策略 p50 ns | 容量计数 p50 ns |
|---|---|---|---|---|
| 16 B | 620.033 | 918.827 | 1.583 | 0.800 |
| 32 B | 545.505 | 522.943 | 1.725 | 1.942 |
| 64 B | 452.694 | 438.985 | 2.000 | 2.242 |
这是控制变量实验,和上方各指标独立选优的正式表用途不同。没有移除低吞吐或尾部异常测量;完整p99/p999和逐次数据见controls/matched-configs-163851。
两层块大小和数量相同;每层8 MiB。表中容量计数映射到TCacheRemainingBytes模板参数。
| 长度 / 指标 | 每层块配置 | 输出帧容量 | 读取spin | rescan | 容量计数 |
|---|---|---|---|---|---|
| 16 B / throughput | 4 MiB × 2 | 64 | 0 | 5 ms | 开 |
| 16 B / p50 | 4 MiB × 2 | 64 | 0 | 1 ms | 开 |
| 16 B / p99 | 1 MiB × 8 | 1 | 1000 | 5 ms | 开 |
| 16 B / p999 | 256 KiB × 32 | 1024 | 1000 | 1 ms | 开 |
| 32 B / throughput | 4 MiB × 2 | 1 | 0 | 5 ms | 关 |
| 32 B / p50 | 4 MiB × 2 | 64 | 0 | 30 ms | 关 |
| 32 B / p99 | 4 MiB × 2 | 1 | 10000 | 5 ms | 关 |
| 32 B / p999 | 4 MiB × 2 | 1024 | 10000 | 30 ms | 关 |
| 64 B / throughput | 4 MiB × 2 | 1024 | 10000 | 30 ms | 关 |
| 64 B / p50 | 4 MiB × 2 | 1024 | 10000 | 30 ms | 关 |
| 64 B / p99 | 4 MiB × 2 | 64 | 10000 | 5 ms | 关 |
| 64 B / p999 | 4 MiB × 2 | 64 | 10000 | 5 ms | 关 |
复现:使用下方完整profile配合performance_data目录中的run_strict_search.py;这个入口会限制ReaderWriterQueue的实际槽位容量。直接使用普通自动容量入口可能向上取整,不能当成严格8 MiB对照。
在声明的参数空间与预算内搜索;吞吐、p50、p99、p999 分别选优,并各做独立正式复测。表中不同指标可能来自不同配置,完整参数按指标列出。
TwoBufQueue:Writer → 复制线程 → 第二层缓存 → 独立回调线程,逐消息调用回调。
源块 / 输出块按指标分别选择;每层数据字节预算保持不变。四种实现正式写入次数与净负载长度相同。
每轮上限按缓存的 80% / 消息字节数计算。TwoBufQueue 不扫描当前块,publish_count 为 UINT32_MAX;停止发送计时后调用 finish_block 交接当前块,再等待本轮全部回调完成。预热也在计时外交接,最终尾部统一 finish。没有增加额外消息,原生 SPSC 每条已发布,轮末无需额外交接。
本页三种长度使用相同缓存预算和业务回调循环次数;长度与Writer容量检查策略的影响另做同参数对照。
不逐条 flush · 轮末计时外交接;publish_count 固定为UINT32_MAX,当前块扫描关闭。仅预触碰写端数据页,第二层数据页没有额外预触碰。
吞吐和分组延时均在计时前准备整轮输入;每条消息的全部字都随序号变化;复制构造函数体使用一次直接 memcpy,目标成员保留 bytes{} 初始化。输入缓冲单独计算,不算队列容量,也不保证常驻 L1。
本机为 macOS-14.4.1-arm64-arm-64bit / arm64,Release 优化构建。
计时器:mach_absolute_time;每组 1000 次写入。组均值刻度约 0.0417 ns / 次。
写线程调度:高 QoS · 未硬绑核。调度打断和其他系统活动仍可能影响结果;复制与回调线程保留自身调度策略。
吞吐只累计写线程发送时间;排空在计时之外。并发复制 / 回调仍可能争用缓存和带宽,因此不是持续端到端吞吐。
{
"16 B / two_buf_queue": {
"throughput": {
"transport": "two_buf_queue",
"mode": "throughput",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 4194304,
"source_pool_min": 2,
"source_pool_max": 2,
"source_queue_capacity": 8,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 4194304,
"output_frame_capacity": 64,
"output_pool_min": 2,
"output_pool_max": 2,
"output_queue_capacity": 8,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 0,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": true,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "two_buf_queue",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 4194304,
"source_pool_min": 2,
"source_pool_max": 2,
"source_queue_capacity": 8,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 4194304,
"output_frame_capacity": 64,
"output_pool_min": 2,
"output_pool_max": 2,
"output_queue_capacity": 8,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 0,
"rescan_interval_ns": 1000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": true,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "two_buf_queue",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 1048576,
"source_pool_min": 8,
"source_pool_max": 8,
"source_queue_capacity": 32,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 1048576,
"output_frame_capacity": 1,
"output_pool_min": 8,
"output_pool_max": 8,
"output_queue_capacity": 32,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": true,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "two_buf_queue",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 262144,
"source_pool_min": 32,
"source_pool_max": 32,
"source_queue_capacity": 128,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 262144,
"output_frame_capacity": 1024,
"output_pool_min": 32,
"output_pool_max": 32,
"output_queue_capacity": 128,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 1000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": true,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
},
"16 B / readerwriterqueue": {
"throughput": {
"transport": "readerwriterqueue",
"mode": "throughput",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 522753,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "readerwriterqueue",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 522753,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "readerwriterqueue",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 522753,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 1000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "readerwriterqueue",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 522753,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
},
"16 B / rigtorp": {
"throughput": {
"transport": "rigtorp",
"mode": "throughput",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "rigtorp",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "rigtorp",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 10000,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "rigtorp",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 10000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
},
"16 B / atomic_queue": {
"throughput": {
"transport": "atomic_queue",
"mode": "throughput",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "atomic_queue",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "atomic_queue",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "atomic_queue",
"mode": "write_latency",
"payload_bytes": 16,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
},
"32 B / two_buf_queue": {
"throughput": {
"transport": "two_buf_queue",
"mode": "throughput",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 4194304,
"source_pool_min": 2,
"source_pool_max": 2,
"source_queue_capacity": 8,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 4194304,
"output_frame_capacity": 1,
"output_pool_min": 2,
"output_pool_max": 2,
"output_queue_capacity": 8,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 0,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "two_buf_queue",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 4194304,
"source_pool_min": 2,
"source_pool_max": 2,
"source_queue_capacity": 8,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 4194304,
"output_frame_capacity": 64,
"output_pool_min": 2,
"output_pool_max": 2,
"output_queue_capacity": 8,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 0,
"rescan_interval_ns": 30000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "two_buf_queue",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 4194304,
"source_pool_min": 2,
"source_pool_max": 2,
"source_queue_capacity": 8,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 4194304,
"output_frame_capacity": 1,
"output_pool_min": 2,
"output_pool_max": 2,
"output_queue_capacity": 8,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 10000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "two_buf_queue",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 4194304,
"source_pool_min": 2,
"source_pool_max": 2,
"source_queue_capacity": 8,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 4194304,
"output_frame_capacity": 1024,
"output_pool_min": 2,
"output_pool_max": 2,
"output_queue_capacity": 8,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 10000,
"rescan_interval_ns": 30000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
},
"32 B / readerwriterqueue": {
"throughput": {
"transport": "readerwriterqueue",
"mode": "throughput",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 261121,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "readerwriterqueue",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 261121,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "readerwriterqueue",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 261121,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "readerwriterqueue",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 261121,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
},
"32 B / rigtorp": {
"throughput": {
"transport": "rigtorp",
"mode": "throughput",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "rigtorp",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "rigtorp",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "rigtorp",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 1000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
},
"32 B / atomic_queue": {
"throughput": {
"transport": "atomic_queue",
"mode": "throughput",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "atomic_queue",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "atomic_queue",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "atomic_queue",
"mode": "write_latency",
"payload_bytes": 32,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
},
"64 B / two_buf_queue": {
"throughput": {
"transport": "two_buf_queue",
"mode": "throughput",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 4194304,
"source_pool_min": 2,
"source_pool_max": 2,
"source_queue_capacity": 8,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 4194304,
"output_frame_capacity": 1024,
"output_pool_min": 2,
"output_pool_max": 2,
"output_queue_capacity": 8,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 10000,
"rescan_interval_ns": 30000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "two_buf_queue",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 4194304,
"source_pool_min": 2,
"source_pool_max": 2,
"source_queue_capacity": 8,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 4194304,
"output_frame_capacity": 1024,
"output_pool_min": 2,
"output_pool_max": 2,
"output_queue_capacity": 8,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 10000,
"rescan_interval_ns": 30000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "two_buf_queue",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 4194304,
"source_pool_min": 2,
"source_pool_max": 2,
"source_queue_capacity": 8,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 4194304,
"output_frame_capacity": 64,
"output_pool_min": 2,
"output_pool_max": 2,
"output_queue_capacity": 8,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 10000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "two_buf_queue",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 4194304,
"source_pool_min": 2,
"source_pool_max": 2,
"source_queue_capacity": 8,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 4194304,
"output_frame_capacity": 64,
"output_pool_min": 2,
"output_pool_max": 2,
"output_queue_capacity": 8,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 10000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 1000,
"spsc_idle_sleep_ns": 0,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
},
"64 B / readerwriterqueue": {
"throughput": {
"transport": "readerwriterqueue",
"mode": "throughput",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 130305,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "readerwriterqueue",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 130305,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "readerwriterqueue",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 130305,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "readerwriterqueue",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 130305,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
},
"64 B / rigtorp": {
"throughput": {
"transport": "rigtorp",
"mode": "throughput",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "rigtorp",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "rigtorp",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 1000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "rigtorp",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 1000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
},
"64 B / atomic_queue": {
"throughput": {
"transport": "atomic_queue",
"mode": "throughput",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p50": {
"transport": "atomic_queue",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p99": {
"transport": "atomic_queue",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 10000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
},
"p999": {
"transport": "atomic_queue",
"mode": "write_latency",
"payload_bytes": 64,
"messages": 10000000,
"warmup_messages": 50000,
"callback_iterations": 0,
"verify_payload": false,
"prepared_input": true,
"variable_payload": true,
"prepared_input_limit_bytes": 268435456,
"measure_callback_time": true,
"producer_interval_ns": 0,
"source_block_size": 65536,
"source_pool_min": 128,
"source_pool_max": 128,
"source_queue_capacity": 512,
"writer_backpressure": "drop",
"writer_spin_count": 1000,
"writer_wait_timeout_ms": 5000,
"output_block_size": 65536,
"output_frame_capacity": 1024,
"output_pool_min": 128,
"output_pool_max": 128,
"output_queue_capacity": 512,
"cancel_claim_mode": "tail",
"output_mode": "spsc",
"output_reader_mode": "wait_signal",
"output_reader_count": 1,
"output_retry_wait_us": 1000,
"output_enable_stats": false,
"is_scan_current": false,
"reader_spin_count": 1000,
"rescan_interval_ns": 5000000,
"rescan_max_interval_ns": 30000000,
"consumer_cpu": -1,
"producer_cpu": -1,
"producer_qos": "user_interactive",
"round_storage_bytes": 6710886,
"spsc_buffer_bytes": 8388608,
"prefault_producer_buffers": true,
"finish_timeout_ms": 5000,
"work_wait_min_ms": 1,
"finish_retry_ms": 1,
"publish_count": 4294967295,
"cache_remaining_bytes": false,
"spsc_capacity": 0,
"retry_yield_every": 1024,
"spsc_idle_spins": 0,
"spsc_idle_sleep_ns": 1000,
"timer": "auto",
"sample_every": 32,
"max_samples": 1000000,
"latency_batch_size": 1000,
"timer_calibration_samples": 16384,
"call_batch_size": 256,
"random_seed": 42,
"timeout_seconds": 180,
"buffer_budget_bytes": 16777216
}
}
}第三方原文件按 benchmarks/spsc/spsc_dependencies.json 校验,未修改队列实现;外部负载对象每次拷贝使用一次直接 memcpy。逐次命令、配置、校验结果与内部计数保存在 raw.jsonl。