mozilla
sccache
BlogDocsChangelog

Calculate rustc outputs concurrently with other hashing tasks

#2465
Comparing
DaniPopes:rustc-outputs
(
4b2fbe8
) with
main
(
d9d2eb6
)
CodSpeed Performance Gauge
0%
Untouched
11

Benchmarks

Passed

digest_with_delimiters
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
8.8 µs8.8 µs
lru_cache_mixed_workload
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms
cache_key_generation
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
90.8 µs90.8 µs
time_macro_finder_chunked
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
971.8 µs971.8 µs
hash_large_data
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
9.3 ms9.3 ms
lru_cache_get_hit
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
975.8 µs975.8 µs
time_macro_finder_no_macros
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
3 ms3 ms
time_macro_finder_with_macros
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
2.6 ms2.6 ms
lru_cache_eviction
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
3.4 ms3.4 ms
lru_cache_insert
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
2.7 ms2.7 ms
digest_incremental_updates
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
20.5 µs20.5 µs

Commits

Click on a commit to change the comparison range
Base
main
d9d2eb6
+0.01%
Calculate rustc outputs concurrently with other hashing tasks Currently, `sccache` invokes `rustc` twice for generating the hash key: once for the inputs and env-deps (`--emit dep-info`), and another time for the output file names (`--print file-names`). However, the latter is invoked only after the former finishes. There is no reason for this dependency. Run `get_compiler_outputs` concurrently with the other `rustc` and hashing tasks in `RustHasher::generate_hash_key`. I initially thought that these two invocations could be merged together, but `--print` stop compilation before the `--emit` is evaluated, so I went with the simpler approach of just running them at the same time.
4b2fbe8
3 months ago
by DaniPopes
© 2026 CodSpeed Technology
Home Terms Privacy Docs