Headstart is a set of patches to rustc and Cargo that emit a crate’s metadata early. The GitHub repository was created on 27 September 2026 and the latest push on the repository is 4 October 2026 at 15:08 UTC, a merge that adds Codex results and graphs. It is not a rustc release and not a Cargo feature flag upstream. The repository lists no license. A Hacker News thread the same day is titled “Emitting metadata early makes building/checking Rust up to twice as fast.” The project’s results report elapsed-time savings: the strongest check result is more than twice as fast.
What the patches change
Cargo normally waits until a dependency is fully checked, function bodies included, before a dependent crate starts. The dependent only needs the interface, which lives in the .rmeta file. Headstart makes rustc write that metadata once the interface is checked, and makes Cargo start dependents on it. Bodies are checked while downstream crates are already compiling. For cargo build, dependents analyze against the early metadata and then wait for the full metadata before code generation, giving the job slot back while they wait. If a body has an error, the README says the build still fails with the same diagnostics and exit status. What can differ is progress lines and the order of JSON messages across crates. Cargo emits a crate’s output only after its dependencies have finished cleanly, and drops that output if one fails. The costs the README names are discarded downstream work, errors that show up slightly later, and more memory in use at once.
You opt in with CARGO_UNSTABLE_HEADSTART=true or with headstart = true under [unstable] in .cargo/config.toml. Without that, the patched Cargo is supposed to behave like upstream.
The numbers in the README
On rustc’s default front end, the README says clean builds of 13 real projects, including rust-analyzer, Zed, Bevy, Lemmy, and Polars, saved up to 54% of elapsed time for cargo check and up to 42% for cargo build. None was slower. With the parallel front end (-Zthreads=8), it says the extra elapsed-time saving is up to 25%. Those are 16-core numbers. On 4 cores it says rust-analyzer’s check time falls by 24% and its build time by 13 to 15%, Codex’s check time falls by 14%, and wide builds come out even. A clean cargo build of codex-rs on 16 cores is described as saving 37% of elapsed time. The gain, the README says, comes from cores a normal build would leave idle, so it shrinks on smaller machines. These are the project’s measurements, from scripts in the repo (scripts/real-projects.sh, scripts/bench-suite.sh), not an upstream benchmark.
Practical takeaway
If you want to try it, you are applying patches and an unstable Cargo switch, and you should keep a stock toolchain for comparison. Quote the project’s 16-core elapsed-time results: its strongest check dropped from 90.1 to 41.5 seconds, about 54% less time or a 2.17x speedup, while its strongest build saved about 42% of elapsed time. The repository’s creation date is 27 September; the 4 October push is a results update, not rustc shipping the feature.

The Campfire
No commentsNobody has pulled up a log by this one yet. Be the first to say what you make of it.
Held for the desk. It appears after a look.