Skip to content

rerun the benchmark suite and put the cross-language state up front - #619

Merged
kacy merged 1 commit into
mainfrom
bench-refresh-2026-07
Jul 29, 2026
Merged

rerun the benchmark suite and put the cross-language state up front#619
kacy merged 1 commit into
mainfrom
bench-refresh-2026-07

Conversation

@kacy

@kacy kacy commented Jul 29, 2026

Copy link
Copy Markdown
Owner

summary

full benchmark rerun on 2026-07-29 — event ledger, chan_fanout, spawn,
std_pipeline, the grpc unary echo, the catalog workload, and the http server
under wrk — after the green default flip, the blocking-call work, and the
ownership sweep. docs/performance.md opens with a fresh two-table scoreboard
(coordination, services and compute) and a new "july 2026 hardening, in
numbers" section that states each change as a before/after measurement: the
three worker-stall fixes, the tls one-packet-kill fix, and the six leak
shapes the growth gate pins, plus the cost side (the file-i/o handoff and a
few percent on the compute rows).

notable movements, both directions: green chan_fanout ~133ms, level with
rust and ~1.8x go; the catalog workload ~4x faster than go; os-thread spawn
rss collapsed 174mb to 3.5mb as a side effect of eviction releases; a
minimal go spawn twin shows go ~7x ahead on raw spawn/await, which the old
table understated; event_ledger and std_pipeline a few percent slower with
the leak fixes in their hot paths.

what was tested

every number in the diff was measured on this machine during the rerun:
interleaved runs with medians (7 rounds for the fan-out, 5 elsewhere), the
grpc client prebuilt so compile time stays out of the measurement, digests
and checksums verified where the benchmark defines them. make docsite-check
passes.

full rerun on 2026-07-29, after the green default, the blocking-call work,
and the ownership sweep. the scoreboard at the top of docs/performance.md now
carries the fresh numbers, split into coordination and services-and-compute,
and a new section lays out what the july hardening changed as before/after
measurements rather than adjectives — the worker-stall fixes, the tls
survivability, and the six leak shapes the growth gate now pins.

the honest movements both ways: chan_fanout green improved to ~133ms (level
with rust, ~1.8x go, still bimodal on placement); the catalog workload runs
~4x faster than go's version and is the strongest row; the os-thread spawn
rss collapsed 174mb -> 3.5mb as a side effect of containers releasing on
eviction; event_ledger and std_pipeline drifted a few percent slower as hot
paths gained the releases they had been skipping; and a minimal go spawn twin
shows go clearly ahead on raw spawn/await, which the old table understated.
the http server row records what it exists to show — a third of go's
throughput at byte-flat rss where go grows.

bench/README.md tables updated in place with the rerun dates kept next to
the numbers they belong to.
@kacy
kacy merged commit 582c4ed into main Jul 29, 2026
2 checks passed
@kacy
kacy deleted the bench-refresh-2026-07 branch July 29, 2026 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant