docs(bench): correct the during-save tail record -- CLOSED (794ms -> 30ms), not a 40x loss#768
Merged
Merged
Conversation
…ms -> 30ms), not a 40x loss The public benchmark docs still describe the PRE-#742 world and materially UNDERSELL the product. docs/bench/TAIL_LATENCY.md's measured record was committed 2026-07-23 14:20; PR #742 (the fix) merged 18:52 the SAME DAY, so every IronCache tail in that record is pre-fix. The post-fix c7g confirmation was run and posted on #676 but never made it into the docs. Corrected, using the numbers from that confirmation (same config: 8 server cores + a pinned persist core, tmpfs, 1M keys, BGSAVE/3s): - during-save p99.9: 794ms -> **30ms** (~26x); p99 640ms -> 12ms; the no-save baseline is 21ms, so the save is now essentially invisible to the datapath. - vs the same pinned competitors: Dragonfly 19ms, **IronCache 30ms**, Valkey 510ms, Redis 719ms -- i.e. from WORST-in-class into Dragonfly's class, ~17x/24x ahead of Valkey/Redis. Files: - TAIL_LATENCY.md: new CURRENT record up top; the old record retitled "Superseded: PRE-#742" with a warning that its analysis ATTRIBUTES TO SAVE COST what was actually a scheduling defect -- notably the dataset-scaling table and its "~4.3ms of datapath stall per MB" conclusion were measuring how long the HOL block lasted, not an inherent persistence cost. Competitor numbers there stay valid, and the save WALL-TIME characterization (deltas cut incremental cost; a base save is O(resident)) is still accurate, so the section is kept for provenance. The old "honest verdict" is marked superseded and its wrong causal conclusion called out explicitly. - README.md: the during-snapshot tail is no longer listed as "a known limitation at a memory-bandwidth floor" -- that was the most visible stale claim in the repo. - docs/PRODUCTION_READINESS.md: the "291ms, competitive but not category-leading" line updated. - docs/design/PERSISTENCE.md: the 291ms figure marked historical (it is the #588 Arc-COW change alone), and the "FUNDAMENTAL memory-bandwidth-headroom tradeoff" claim marked SUPERSEDED -- that theory was disproven twice by measurement (the #740 pacer was refuted on c7g and reverted; the 1-shard-vs-8-shard ablation showed the BIGGER save stalling ~60x LESS). No new measurement was taken for this: the numbers already existed on #676. This is purely making the shipped docs match the code that merged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FfFZ8gkkNhDBASuntB72HR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The public benchmark docs still describe the pre-#742 world and materially undersell the product.
docs/bench/TAIL_LATENCY.md's measured record was committed 2026-07-23 14:20; PR #742 (the fix) merged 18:52 the same day. So every IronCache tail in that record is pre-fix. The post-fix c7g confirmation was run and posted on #676 — it just never reached the docs.Most visible symptom: the README described the during-snapshot tail as "a known limitation at a memory-bandwidth floor", and TAIL_LATENCY.md's verdict read "~40x worse than Dragonfly".
The real numbers (from the #676 confirmation, same config)
vs the same pinned competitors: Dragonfly 19 ms, IronCache 30 ms, Valkey 510 ms, Redis 719 ms — from worst-in-class into Dragonfly's class.
Files
No new measurement was taken — the numbers already existed on #676. This only makes the shipped docs match the merged code.