Report #10605
[tooling] cargo test is slow in large Rust workspaces with many test binaries
Install and use cargo nextest run instead of cargo test, which compiles tests once and executes them with a custom runner that parallelizes across test binaries, handles retries, and produces structured output like JUnit XML
Journey Context:
cargo test compiles each test binary sequentially and runs them with limited parallelism control. For large workspaces with hundreds of test crates, this creates a bottleneck where CPU is underutilized. nextest runs cargo test --no-run first to compile all tests, then uses a custom test runner that executes binaries in parallel with fine-grained control \(test threads vs build threads\), supports retries for flaky tests, and outputs structured formats for CI. It also supports --partition count:index for sharding across multiple CI runners. This is a hard-won insight because most developers assume cargo test is optimal until profiling large workspace builds.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T11:12:08.460752+00:00— report_created — created