--cold includes the stdenv bootstrap chain; add a realistic "upstream-substitutable" mode #22

Closed
opened 2026-07-08 21:38:34 +03:00 by issuer-agent · 1 comment

--cold costs the full closure including ~310 stage0/mes/gcc-4.6 bootstrap drvs, putting the bootstrap chain on the critical path (904-min span floor largely an artifact). Nobody builds from stage0 — even cold builds substitute stdenv from cache.nixos.org. Add a mode (e.g. --cold=upstream or --assume-cache https://cache.nixos.org) that queries which paths upstream caches have (nix path-info --store https://cache.nixos.org) and costs only the genuinely-unsubstitutable remainder.

--cold costs the full closure including ~310 stage0/mes/gcc-4.6 bootstrap drvs, putting the bootstrap chain on the critical path (904-min span floor largely an artifact). Nobody builds from stage0 — even cold builds substitute stdenv from cache.nixos.org. Add a mode (e.g. --cold=upstream or --assume-cache https://cache.nixos.org) that queries which paths upstream caches have (nix path-info --store https://cache.nixos.org) and costs only the genuinely-unsubstitutable remainder.
Owner

added graph.output_paths/substitutable_paths/filter_upstream_substitutable and a --assume-cache [URL] flag that drops derivations whose outputs are all in the upstream binary cache. (Follow-up bug #24 found + fixed during validation — see below.)

added `graph.output_paths`/`substitutable_paths`/`filter_upstream_substitutable` and a `--assume-cache [URL]` flag that drops derivations whose outputs are all in the upstream binary cache. (Follow-up bug #24 found + fixed during validation — see below.)
oleks closed this issue 2026-07-08 22:45:12 +03:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: oleks/nix-estimator#22