Skip to content

docs(contributing): document the fast t27c inner loop - #5945

Merged
gHashTag merged 1 commit into
masterfrom
claude/build-speed-docs
Oct 4, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/build-speed-docs

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Closes #5934. Part of #5905 (weak point 5, last checklist row).

What changes

CONTRIBUTING.md gains a "Build speed" section. The only build it named before was the release build, which has no incremental compilation, so each edit cost about 30 s.

you need command one-line edit, then rebuild
type errors only cargo check -p t27c 2.4-3.3 s
a binary that runs cargo build -p t27c 3.2-4.1 s
a release binary that runs CARGO_PROFILE_RELEASE_INCREMENTAL=true cargo build --release -p t27c 3.2-5.0 s
the CI / release build cargo build --release -p t27c 29.8-33.9 s

The section also covers three things that were not written down:

  • Do not benchmark or ship an incremental release build. It defaults to 256 codegen units instead of 16.
  • scripts/tri prefers target/release/t27c over a fresher debug binary, so iterating with debug builds needs TRI_T27C=target/debug/t27c.
  • The compiler.rs seal. The remedy that build.rs and FROZEN.md print, cargo run --release -- frozen-digest, panics again after the edit (build.rs FROZEN_HASH panic tells you to run a command that hits the same panic #5928). The section names two routes that work: a binary built before the edit, or shasum -a 256. All three print the same digest:
$ t27c frozen-digest
b45a356c...3526 bootstrap/src/compiler.rs
$ shasum -a 256 bootstrap/src/compiler.rs
b45a356c...3526  bootstrap/src/compiler.rs
$ head of bootstrap/stage0/FROZEN_HASH
b45a356c...3526 bootstrap/src/compiler.rs

The section links to the ceremony in FROZEN.md instead of restating it.

CLAUDE.md section 2 gains one pointer line, not a copy.

Where the numbers come from

They were measured on 2026-10-04 on an idle M1 Pro (8 cores), adding one function to bootstrap/src/suite.rs, with a warm-up build first. The debug row used CARGO_PROFILE_DEV_DEBUG=0.

I also tried to time edits to compiler.rs itself. The machine was at load average 200-300, and a debug rebuild took 137-215 s, so those numbers measure contention, not the build. They are not in the doc, and the section says compiler.rs was not timed on an idle machine.

Not changed

No [profile] edit and no .cargo/config, so CI and release builds are unchanged.

🤖 Generated with Claude Code

The only build CONTRIBUTING named was a release build, which has no
incremental compilation, so every edit cost ~30 s. Add a Build speed
section: cargo check, debug and incremental release rebuild in 2.4-5.0 s
on an idle M1 Pro. It also covers not benchmarking incremental builds,
TRI_T27C for debug binaries, and the compiler.rs seal step whose
printed remedy fails (#5928). CLAUDE.md section 2 points to it.

Closes #5934

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-04 07:41:38 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 46
PRs with All Checks Green 4
READY 1
FAILING 46
PENDING 0
NO CHECKS YET 0

These columns do not partition: 1 + 46 + 0 + 0 = 47, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b45a356c2eb6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

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.

CONTRIBUTING: document the fast t27c inner loop (check / debug / incremental release)

1 participant