mozilla
sccache
BlogDocsChangelog

Calculate rustc outputs concurrently with other hashing tasks

#2465
Comparing
DaniPopes:rustc-outputs
(
05196cb
) with
main
(
3fe258a
)
CodSpeed Performance Gauge
0%
Untouched
27
Skipped
2

Benchmarks

Skipped (2)

digest_with_delimiters
benches/sccache_bench.rs
Skipped
8.8 µs*
digest_incremental_updates
benches/sccache_bench.rs
Skipped
20.5 µs*

Passed

lru_cache_eviction
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
3.4 ms3.4 ms
hash_multiple_files
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
938.6 µs938.3 µs
lru_cache_get_hit
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
974.8 µs974.7 µs
build_workflow_incremental
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
6.7 ms6.7 ms
decompression_low_ratio
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
1.1 ms1.1 ms
decompression_high_ratio
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
1.2 ms1.2 ms
cache_entry_create_large
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
4.9 ms4.9 ms
hash_header_file
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
204.7 µs204.7 µs
cache_entry_create_small
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
1.4 ms1.4 ms
build_workflow_initial
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
29.2 ms29.2 ms
cache_entry_batch_roundtrip
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
22.8 ms22.8 ms
time_macro_finder_chunked
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
971.8 µs971.8 µs
cache_entry_batch_create
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
48 ms48 ms
cache_entry_roundtrip_small
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
1.9 ms1.9 ms
cache_entry_roundtrip_large
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
5.5 ms5.5 ms
compression_high_compressibility
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
2.4 ms2.4 ms
build_workflow_rebuild
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
4.6 ms4.6 ms
compression_low_compressibility
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
2.1 ms2.1 ms
hash_large_data
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
9.3 ms9.3 ms
lru_realistic_eviction_pressure
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
9.1 ms9.1 ms
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_sequential_scan_pattern
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
359.5 µs359.7 µs
cache_key_generation
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
89.5 µs89.6 µs
lru_cache_mixed_workload
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms
lru_cache_insert
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
2.7 ms2.8 ms
lru_hotcold_access_pattern
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
143.4 µs143.9 µs

Commits

Click on a commit to change the comparison range
Base
main
3fe258a
+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
-0.03%
Merge branch 'main' into rustc-outputs
05196cb
2 days ago
by sylvestre
© 2026 CodSpeed Technology
Home Terms Privacy Docs