Skip to content

Reuse unchanged raw benchmark archives during publication - #1136

Merged
helly25 merged 5 commits into
mainfrom
perf/reuse-raw-benchmark-archives
Nov 7, 2026
Merged

helly25 merged 5 commits into
mainfrom
perf/reuse-raw-benchmark-archives

Conversation

@helly25

@helly25 helly25 commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

Avoid recompressing unchanged raw benchmark data during publication. A byte-exact check reuses its existing gzip archive, reducing repeated two-report expand/compact cycle time by about 52% on Mac and 47% on Linux without changing original observation bytes.

AG;DR

expand_benchmarks leaves the original compressed inputs beside their expanded files, but compaction previously recompressed every expanded file. For non-interned JSON only, compare the retained archive's decompressed bytes with the authoritative expanded bytes. If identical, retain the exact gzip bytes and remove only the temporary expansion. Missing, stale, invalid-header, truncated, or invalid-DEFLATE archives fall back to normal compression. Packed charts keep their original path.

Qualification uses the exact public Linux/macOS raw reports, chart payloads, and HTML from run 42254867488 attempt 1. Three paired sessions per host alternate parent/candidate order, discard a warm-up round, and average the fastest seven of nine measured rounds. Full expand_benchmarks/compact_benchmarks cycles process both reports. Every iteration checks exact raw bytes, chart values/types, removal of expansions, and HTML entry points; unchanged candidate raw archives retain exact compressed bytes.

Repeated unchanged cycles improve 52.1–52.4% on Mac and 46.9–47.1% on Linux. Changed-input controls cost up to 0.99%/3.77%, respectively; fresh controls stay within 1%. These are two-report fixture results, not a full hosted-publication time claim. The initial broader chart-reuse trial is rejected: changed charts cost 27–33%, despite substantial unchanged-chart gains. Its implementation and complete measurements remain archived alongside the selected candidate.

Five relevant Mac Bazel targets passed, as did all 48 corresponding direct tests on both hosts over SSH. The final malformed-DEFLATE regression passed separately on Linux and in Mac's hermetic storage target. Linux verified all 198 transferred test-input hashes and final runtime/test hashes. Normal changed-file pre-commit and Trunk checks passed; local clang-tidy was skipped per the standing user instruction. Current public-head CI remains required.

The committed, hash-verified 1.5 MB capsule retains all 19 original input/source/script/measurement/provenance records, including exact public fixture bytes. A narrow large-file-hook exclusion follows the existing evidence policy. Documentation and TODO updates distinguish this improvement from the separate Pages deployment repair, missing-source replay, historical-rendering work, and the already-exceeded 200 MB site-storage review threshold.

The byte comparison temporarily holds one extra decompressed raw file; peak RSS was not measured. Storage format, retention rules, official executable measurements, and chart packing do not change. The helper API is compatible with existing and separated deployment workflows; there is no hard dependency on the Pages split. Post-merge publisher timing and backlog recovery remain open.

Public integration and current qualification

#1135 has merged. Current signed head 55e600ac9b77a68ec8e5129caff304866c14317e incorporates actual main b8ba80cb615460d00896d219f667082faf2238fb. The normal combined merge resolves five additive conflicts in precise evidence exemptions, TODO/history/performance documentation and site mappings. Every newer main implementation blob and canonical addition is retained. The measured storage runtime (16a2c3839ab58e04e2dd627f1993a02aab0fde1bd361b4acf63c377919fff182), regression tests, report and capsule remain byte-identical to their qualified inputs. Combined tree: ca321fdb37fc8a725f8824237c78580b09a0ea26.

Canonical tables, diff checks and exact asset-exemption positive/near-miss negative controls pass. Normal signed commit and immediate push hooks passed; normal merge hooks intentionally skip redundant Trunk, and no local clang-tidy ran. Earlier 32 release-site tests and all 19 evidence-record hashes remain development/integration evidence, not a substitute for this new own-context CI. No performance retiming or unchanged runtime tests were repeated during this synchronization.

Own fresh current-main Test run 42394487572 completed successfully on this actual pushed head, including all six initial measurement shards, agreement, final best-seven-of-nine comparison and done; additional candidates skipped normally after agreement. Exact predecessor-main Test 42394161808 also completed successfully. GitHub recognizes this head on current main without an out-of-date or conflict state; prior stacked/head checks do not establish readiness.

This is now the root of the remaining linear publication/report chain, with #1137 as its immediate child. Merge this PR unchanged when ready rather than waiting for that child's early feedback; synchronize its child after retargeting. The Pages split from #1135 has its first successful hosted deployment and verified live index; this does not establish a hosted wall-time gain for the present storage change. Post-merge publisher timing and missing-source recovery remain separately tracked. There is no new runtime API dependency on the Pages split and no claim of a full hosted-publication/RSS gain.

@helly25
helly25 merged commit 1f25ba6 into main Nov 7, 2026
32 checks passed
@helly25
helly25 deleted the perf/reuse-raw-benchmark-archives branch November 7, 2026 17:59
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