Compiler-Memory Benchmarks, Profiling, And Budgets
Compiler-memory performance evidence is a release input. A performance claim is
valid only when it names the workload, metric, baseline, target, actual, date, and command that produced the row.
Run the bounded evidence gate with:
make compiler-memory-benchmark-check
The gate validates source-owned reports and fixtures. It does not run broad
benchmarks, self-hosting, deployment, emulator, or remote publication work.
Evidence Files
compiler-memory-benchmarks/suites.tsvdefines the required benchmark
suites for frontend speed, mid-end query time, codegen speed, link time,
compiler RSS, binary size, startup time, runtime throughput, app latency, and
allocator behavior.
compiler-memory-benchmarks/profiler-intake.tsvrecords compiler-side and
binary-side profile inputs and profile-quality budgets.
compiler-memory-benchmarks/metrics.tsvrecords workload, metric, baseline,
target, actual, unit, date, command, profile, and release report path.
compiler-memory-benchmarks/regression-thresholds.tsvdefines regression
thresholds, owner, override policy, ADR/RFC references, release-note
requirement, and diagnostic code.
compiler-memory-benchmarks/dashboard.tsvdefines the public dashboard
sources and reports.
release/compiler-memory-benchmark-report.tsvis the release benchmark
report.
release/compiler-memory-profile-report.tsvis the release profile-quality
report.
release/compiler-memory-pass-timing-report.tsvis the release compiler-pass
timing report.
release/compiler-memory-dashboard-report.tsvis the release dashboard
report.
release/compiler-memory-regression-report.tsvis the release regression
report.
perf/compiler-memory-benchmark-budgets.tsvis the budget source for the
bounded gate.
Required Claim Fields
Every claim must include:
- workload;
- metric;
- direction;
- baseline;
- target;
- actual;
- unit;
- date;
- command.
The command must be a bounded Make target. Current rows use:
make compiler-memory-benchmark-check
Required Metrics
The gate requires rows for:
- cache hit ratio;
- query colors, through red and green query counts;
- invalidation fan-out;
- profile quality;
- pass timings.
These metrics connect benchmark claims to the compiler-memory work that caused
them. They prevent a release from claiming a speedup without showing cache,
query, profile, and pass-timing behavior.
Regression Policy
A regression fails the bounded gate unless it has:
- an accepted ADR;
- an accepted RFC;
- owner signoff;
- a release-note entry;
- a diagnostics row.
The gate rejects incomplete exceptions. A local measurement can be retained for
investigation, but it is not release evidence until the policy is satisfied.
Diagnostics
The gate reports stable diagnostic codes:
CMB_CLAIM_INCOMPLETE;CMB_BENCHMARK_BUDGET;CMB_PROFILE_QUALITY;CMB_REGRESSION;CMB_OVERRIDE;CMB_REPORT_MISSING;CMB_DASHBOARD.
Negative fixtures live under compiler-memory-benchmarks/fixtures/ and prove
that incomplete or misleading evidence fails closed.