Benchmark History

One row appended per CI run on main. All numbers at batch_deadline_ms=1. Sync p99 and Buffered p50 are single-thread latency measurements. Ramp peak = highest throughput level before connection-cap saturation kicks in.

Read the deltas conservatively. These are shared 2-vCPU CI runners and the run-to-run spread is large. Rows for the same released version span 1,926–2,783 Sync RPS (1.45×) and 610 µs – 1.2 ms Sync p99 (~2×) across the three 1.3.1 runs; the three 0.3.0 runs span 621–692 RPS with p99 from 1.7 to 3.6 ms. A difference between adjacent rows smaller than that is the runner, not a regression or an improvement. Only order-of-magnitude moves are signal here — see environments.md.

(!) marks a run the runner poisoned, not a regression. Single-thread Sync p99 above 10 ms is roughly 3× the worst healthy row in this file and ~25× the median; at one connection and one fsync per record, weir cannot produce it. The cause is the shared runner being descheduled mid-measurement, and the giveaway is that the ramp column in those same rows is often the highest in the file — 0.6.0, 2.0.0 and 2.0.5 all beat their neighbours there. The rows are kept because deleting an inconvenient measurement is worse than publishing it with a marker, but do not read them as trend. deploy/avg_benchmarks.py now applies the marker at write time, so this is not a judgement anyone has to remember to make again.

VersionDateRunsSync RPSSync p99Buf p50Ramp peak RPS
0.2.02026-05-2426233.2 ms—17,229
0.3.02026-05-2556213.6 ms1.2 ms17,116
0.3.02026-05-2556921.7 ms1.2 ms17,316
0.3.02026-05-2556502.0 ms1.2 ms17,298
0.5.02026-06-1051,9331.5 ms74 µs47,492
0.5.02026-06-1053,216687 µs40 µs83,857
0.6.02026-06-1151,02728.2 ms (!)51 µs64,505
0.9.02026-06-1452,547751 µs69 µs58,067
1.0.02026-06-1652,570950 µs69 µs58,984
1.0.02026-06-1752,661604 µs67 µs58,755
1.3.02026-06-2252,768640 µs72 µs67,745
1.3.12026-06-2351,9261.2 ms64 µs67,372
1.3.12026-06-2552,783610 µs79 µs94,839
1.3.12026-06-2552,3081.1 ms74 µs99,490
2.0.02026-08-3151,19035.5 ms (!)76 µs133,368
2.0.12026-09-0153,784613 µs67 µs91,016
2.0.32026-09-0253,665381 µs70 µs91,386
2.0.42026-09-0252,849540 µs76 µs96,887
2.0.42026-09-0452,600693 µs80 µs96,332
2.0.52026-09-0552,754625 µs80 µs97,692
2.0.52026-09-05540298.9 ms (!)89 µs158,193
2.0.52026-09-0552,900549 µs74 µs93,616
2.1.02026-09-0753,681467 µs65 µs127,016
2.1.02026-09-0853,652407 µs68 µs93,634
2.1.02026-09-0852,399933 µs73 µs96,230
3.0.02026-09-1052,690702 µs79 µs99,971
3.0.02026-09-1252,0463.8 ms78 µs123,605
3.0.02026-09-12547848.4 ms (!)101 µs152,930
3.0.02026-09-1252,125843 µs78 µs115,819
3.0.02026-09-1251,4029.8 ms73 µs135,595
3.0.02026-09-1252,859609 µs77 µs92,278
3.0.02026-09-1252,686752 µs77 µs92,934
3.0.02026-09-1352,1641.2 ms76 µs140,119
3.0.02026-09-13574343.1 ms (!)73 µs148,010
3.0.02026-09-1353,469452 µs68 µs89,317
3.0.02026-09-1552,539806 µs80 µs96,119
3.0.02026-09-1553,564370 µs67 µs86,726
3.0.02026-09-1552,502713 µs79 µs97,094
3.0.02026-09-1553,667370 µs68 µs92,771
3.0.02026-09-1652,739776 µs78 µs93,732
3.0.02026-09-1652,701633 µs79 µs96,653
3.0.02026-09-1652,625859 µs78 µs100,196
3.0.02026-09-1752,767734 µs47 µs142,129
4.0.02026-09-1751,51422.4 ms (!)56 µs116,289
4.0.02026-09-2052,619719 µs78 µs98,976
4.0.02026-09-2352,719816 µs78 µs92,117
4.0.02026-09-2854,008423 µs54 µs115,464
4.0.02026-09-2854,580318 µs67 µs88,189
4.0.12026-09-2853,666567 µs65 µs97,044
4.0.12026-09-2853,356698 µs76 µs95,203