$ the-wire · showcase
Rustc benchmarks get faster with shared target dirs and dropped serde threads
By RepoJournal · Filed · About Rust
Rustc-perf can now benchmark different frontend thread counts faster by sharing target directories and dropping the hardcoded serde benchmark.
The rustc-perf suite is getting faster. A new mechanism lets specific benchmarks opt into different frontend thread counts, with defaults overridable via `--frontend-threads` passed to `bench_local` and `profile_local` [1]. Combined with sharing the target directory across frontend thread values, this makes runs across multiple `-Zthread` settings faster [2]. The hardcoded `serde-1.0.219-threads4` benchmark is removed, since benchmark selection can now handle that case directly [3]. Note that the removal is contingent on the new mechanism working in production, after which the suite should speed up slightly [1]. "This allows us to benchmark only some benchmarks with different `-Zthread` values" [1].
Action items
- → Use the new per-benchmark frontend thread opt-in when setting up rustc-perf runs rust-lang/rustc-perf [plan]
References
- [1] Allow benchmark to opt into different values of frontend threads ↗ rust-lang/rustc-perf
- [2] Share target directory for different values of frontend threads ↗ rust-lang/rustc-perf
- [3] Remove the `serde-1.0.219-threads4` benchmark ↗ rust-lang/rustc-perf