Skip to content

docs(bench): record the measured pinned-Linux speed verdict + root cause#268

Merged
ELares merged 1 commit into
mainfrom
perf/findings-speed
Jun 16, 2026
Merged

docs(bench): record the measured pinned-Linux speed verdict + root cause#268
ELares merged 1 commit into
mainfrom
perf/findings-speed

Conversation

@ELares

@ELares ELares commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Records the measured pinned-Linux throughput verdict and root cause in FINDINGS.md (docs-only). The run overturned the prior 'parity is probably a measurement artifact' guidance: ~9k qps/core vs redis ~65k/core (~7x), memory still a clear win (0.92x). Isolated to the per-request I/O datapath (NOT cross-shard, NOT thread oversubscription - both disproven by measurement); CPU profile is ~80% syscalls+reactor+parking. Lever = #28 (io_uring / batched event loop).

🤖 Generated with Claude Code

The pinned-Linux head-to-head (headtohead.yml) was run and OVERTURNED FINDINGS.md's
"throughput parity is probably a measurement artifact, confirm before optimizing"
guidance: on a clean pinned box IronCache is ~9k qps/core vs redis ~65k/core (~7x),
while memory stays a clear win (0.92x). The gap was then isolated to the per-request
I/O datapath (NOT cross-shard, NOT thread oversubscription - both proven by
measurement: per-core throughput is flat vs shard count, and 1->2 shards on the same
cores nearly doubles qps). A CPU profile under load shows ~80% of self-time in
syscalls + the async reactor + thread parking (kevent/semwait/sendto/recvfrom) vs ~20%
in cache compute. So the throughput lever is the I/O datapath (#28 io_uring / batched
event loop), not memory/sharding/threading. Records this so the perf docs reflect the
measured truth rather than the now-disproven "confirm later" guidance.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Zeke <ezequiel.lares@outlook.com>
@ELares ELares merged commit 51ea65a into main Jun 16, 2026
1 check passed
@ELares ELares deleted the perf/findings-speed branch June 16, 2026 15:10
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