Compiler And Memory Optimization Baseline
This page records the Milestone 0 evidence baseline for compiler and memory
optimization work. The baseline is deliberately bounded: it validates source
ownership, schemas, rows, references, owners, metric names, units, and gates
without running self-host, release, emulator, deployment, or broad benchmark
jobs.
Run the baseline check with:
make compiler-memory-optimization-baseline-check
Evidence Files
perf/compiler-memory-research-ledger.tsvmaps each research recommendation
to current 0x0 evidence, missing implementation, owner, target milestone, and
future gate.
perf/compiler-performance-surfaces.tsvinventories parser, checker, import
resolver, typed/effect IR, native IR, object emission, linker, static site
tooling, package resolver, and app build surfaces.
perf/runtime-memory-surfaces.tsvinventories compiler arenas, direct runtime
allocations, ABI v1 layouts, host buffers, app runtime buffers, and generated
artifacts.
perf/compiler-memory-baseline-metrics.tsvdefines stable metric names,
units, collection commands, owners, evidence paths, and budget policy.
Classification Rules
Rows may record current evidence, partial evidence, planned implementation, or
research-lane work. A planned or research-lane row must not claim source or
runtime behavior that does not exist. A row with current evidence must point to
source files, evidence files, documentation, and a bounded Make target.
The baseline uses the existing native performance evidence where it is real,
but it does not treat that evidence as closure for the new roadmap. Later
milestones must add implementation, diagnostics, tests, release evidence,
documentation, and ADR/RFC records before they can be closed.
Metric Scope
The baseline metrics cover:
- cold compile time;
- no-change rebuild time;
- single-file edit rebuild time;
- peak RSS;
- cache hit ratio;
- object size;
- link time;
- binary size;
- startup time;
- runtime allocation count;
- runtime allocated bytes;
- runtime memory failure count.
Metrics marked metric-defined have stable names, units, commands, and owners,
but need real budget rows in the implementation milestone that closes them.
Documentation Impact
Any implementation, syntax, compiler, runtime, standard-library, CLI, API, or
behavior change that touches these surfaces must update the relevant evidence
file, public docs, release notes, ADR/RFC record, and support matrix in the same
change.