nikaia-std (ADR-363 D2)Open and answer this issue on GitHub.
note · opened 2026-10-17 · updated 2026-10-19 · 1 comment
Decided by the owner on 2026-10-17 as the step after #646: src/tools (the self-hosted compiler’s Nikaia package, ADR-294 D18) leaves nikaia-std for a crate of its own (e.g. nikaia-tools), so std and the compiler no longer share a lowering rule (ADR-002 D4) or a crate.
Not now: it touches lower-std, the sysroot, package.rs’s place and the build in the middle of the move to self-hosting (ADR-294). note until a step of the self-hosting plan makes room for it; then it gets a To build list (crate layout, where lower-std writes, how the compiler links it, the sysroot test).
Why: ADR-363 D2.
A data point from the 1BRC measurement harness. A cold nikaia build of a small program (examples/1brc.nika in a project, release settings) took about 5 to 30 times as long as cold cargo build --release of comparable Rust 1BRC programs on the same machine. The machine was loaded, so treat this as an indication, not a measurement.
The likely cause is this issue’s: nikaia-std carries the self-hosted toolchain’s lowered tools module, about 3.4 MB of Rust, and every program compiles it. The split was not measured. The next step is to compare a build against a std without tools, so the gain is known before the move.
Generated by Claude Code