Repository navigation
quest: close the parallel-frontend measurement; the queue keeps stable rustc - #7900
Conversation
Quest-Claim: c91a94b6ccf80eac
…e rustc Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 3 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed head 3d8f23822d082cd2675ce5780b47abbe3a641f24 against base 4ecc744d381abb889dcafc0421b28f6cbb5ad313. No actionable finding in the inspected measurement and quest closure. The report addresses the original conditional adoption question, states the host and warning-policy differences and A/A spread, and distinguishes the unmeasured smaller frontend count. The checked rust2 nightly job and sampled clean/edit timings are consistent with the direction reported; the frontend worker pool also participates in Cargo's jobserver rather than freely using every physical CPU.
Verification: GitHub source and documentary review only. I did not reproduce the benchmarks, independently recalculate all 27 timing artifacts, or verify the local five-round raw measurements. No CI configuration changes are made by this PR.
(Written by review (OpenAI))
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — this run reviewed the complete 2-file diff closing the parallel-frontend measurement quest.
- Quest doc deleted —
quest/m0/ci/nightly-levers.mdis removed; its goal, plan, and Cranelift decision no longer live as a standalone document. - CI epic updated —
quest/m0/ci/README.mddrops the quest'sRequiredlink and records the measured result in thePlansection: the pinned nightly's--jobs-frontend=8ran 15% slower and used 21% more CPU against a 6% A/A spread, without shortening the criticalmoq-nettest unit, and the nightly fails the gate on afetch_updatedeprecation. - No stale references — a repo-wide search finds no remaining links to
nightly-levers.md, and the README summary's numbers match the evidence in the PR body (queue build share, rust2 benchmark ranges, risk notes).
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Closes quest/m0/ci/nightly-levers.md.
Problem
The quest asked for a report: does building the merge queue's tests on a pinned nightly with the parallel frontend save enough wall time to justify the risks? It was to be measured once the structural queue changes had landed. Cranelift was ruled out on 2026-10-27.
That precondition holds. The structural baseline was the landing quest, which was Required until moq-dev/moq#7828 closed it. Parallel modules (moq-dev/moq#6617) and one test build (moq-dev/moq#6616) had landed before that. The
maximumEntriesToBuild: 2trial (queue-concurrency) was not kept as a blocker, and it does not change what a single entry compiles.Approach
Verdict: don't adopt. The queue keeps stable rustc. The quest is deleted, and the measurement is recorded in the CI epic.
1. moq-dev/rust2's build benchmark (first, as the Plan says)
The
jobs-frontendvariant is pinned nightly +-Zunstable-options --jobs-frontend=8, measured against the same nightly on 4-CPU hosted runners. It covers moq-relay only, with no test builds. Over the last 8 scheduled runs, 2026-10-27 to 11-03 (from run 41657425644 back):buildedit-hub(moq-net edit)Its moq nightly job has failed since 11-04 because the disk fills up (
cache-proc-macroshits ENOSPC). That is a follow-up for rust2.2. Where the queue spends time (27 successful merge-group runs, 2026-11-03 to 11-04)
Source: the queue's
cargo-timingsartifacts, matched to each job's Check step.CARGO_BUILD_JOBS=8in a container with a 16-CPU quota (kixelated/nixosmodules/ci-runners.nix).3. The queue's test build, measured directly
Setup:
cargo nextest run --no-runwith the queue's exact selection for a whole-workspace diff (features,--benches --examples, clippy-driver as the workspace wrapper).CARGO_BUILD_JOBS=8,CARGO_INCREMENTAL=0.test-edit). Every unit that doesn't depend on it stays fresh, as mbx serves those units in the queue.nightly-control.Host:
nixos2, 12 CPUs, load about 3-5 before the run.desktopwas at load 26-74 with other agents andnixosis the live queue, so neither was used. A first attempt ondesktopwas discarded for load.--jobs-frontend=8--jobs-frontend=8run (210-234 s) was slower than the median of the 10 plain-nightly runs (196 s).moq_netlib (test), took 103-125 s with the flag and 95-137 s without. It got no faster, while total unit-seconds rose.Risks the Plan listed
AtomicUsize::fetch_update(renamedtry_update), and the gate'sbuild.warnings = denyfails onrs/kio/src/consumer.rs. The timed runs therefore allowed warnings for every variant. Adopting a nightly means chasing deprecations that stable doesn't have yet, or splitting the lint toolchain.--jobs-frontendreplaced-Zthreadsin rust-lang/rust#160697.Impact
None. Quest docs only:
quest/m0/ci/nightly-levers.mdis deleted, andquest/m0/ci/README.mddrops its Required link and records the measurement.Public API: none. Wire: none.
Alternatives
--jobs-frontend=2, the planned nightly default). Not measured. With 8 threads the critical unit did not get faster, and the extra CPU slowed the rest of the build. A smaller count can at best close part of that loss, and it would still carry the nightly gate breakage.nixosis live and a sibling is measuring merge-queue throughput there.nixos2's 12 CPUs leave fewer spare cores than the queue's 16-CPU quota, which could understate the gain. But rust2's 4-CPU runs and these 12-CPU runs agree, and the under-filled share of the queue's own builds caps the gain at a few percent of job time.Choices made without asking
nixos2, sincedesktopwas too loaded andnixosruns the live queue.Follow-ups
Bench (moq nightly)job runs out of disk oncache-proc-macros(since run 41853203857), andBench (moq nix)has failed every scheduled run since 10-27. Worth a rust2 quest so its numbers stay current.Validation
just ci origin/mainpasses (quest, markdown, text, gh, and the rest the diff selects).quest check --base origin/mainpasses.Review
quest review), gpt-6.1-sol, medium effort, round 1.(Written by Claude Opus 5.5)
🤖 Generated with Claude Code