Local measurement record — 2026-09-22
Local measurement record — 2026-09-22
Historical v1 data, withdrawn as performance evidence. CPU 2/3 are SMT siblings, not different physical cores. The one-way TSC experiment did not validate cross-thread clock offsets, and the MPMC benchmark added a global per-message RMW counter. Payloads, capacity and placement also differ from the revised experiment. Do not interpret new numbers as a speedup over v1. See
revised-benchmark.txtandRESEARCH.mdfor the revised methodology.
Environment:
- CPU: AMD Ryzen 5 9600X, 6 cores / 12 logical processors
- OS: Windows (the host used for this repository session)
- Compiler: Zig 0.15.2
zig c++, C++20,-O3 - Affinity: producer on logical CPU 2, consumer on logical CPU 3 for SPSC; MPMC workers pinned to distinct logical CPUs where available
- No real-time scheduling and no isolated cores
Correctness run:
spsc: strict order OK (1000000 messages)
mpmc: no loss/duplicate OK (1000000 messages)
book: stale/gap detection OK
updates=1000000 gaps=0 orders=500000
Five SPSC runs after warm-up:
p50 TSC ticks: 154, 154, 154, 154, 154
p99 TSC ticks: 193, 193, 193, 193, 193
p99.9 TSC ticks: 232, 193, 232, 193, 232
throughput Mmsg/s: 505.28, 497.38, 489.36, 489.09, 470.74
Three bounded MPMC runs:
1P/1C Mmsg/s: 50.50, 49.65, 49.72
2P/2C Mmsg/s: 41.22, 41.51, 41.28
4P/4C Mmsg/s: 19.27, 19.28, 19.50
The SPSC maximum ranged from 91,687 to 384,382 TSC ticks despite stable p99.
The source of those outliers was not established by scheduler/interrupt traces.
Linux perf counters and the journal runtime have not been collected. The
journal was cross-compiled for x86_64 Linux, which does not validate runtime I/O.