mozilla
sccache
BlogDocsChangelog

fix: use single-threaded tokio runtime in sccache client

#2460
Comparing
venkyt-arista:venkyt/single-threaded-client
(
2f14909
) with
main
(
951e247
)
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_hotcold_access_pattern
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
143.5 µs143.4 µs
lru_sequential_scan_pattern
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
359.5 µs359.5 µs
hash_multiple_files
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
938.6 µs938.6 µs
cache_entry_create_small
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
1.4 ms1.4 ms
decompression_high_ratio
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
1.2 ms1.2 ms
hash_header_file
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
204.7 µs204.7 µs
cache_key_generation
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
89.5 µs89.5 µ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
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
compression_high_compressibility
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
2.4 ms2.4 ms
build_workflow_incremental
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
6.7 ms6.7 ms
compression_low_compressibility
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
2.1 ms2.1 ms
cache_entry_batch_roundtrip
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
22.8 ms22.8 ms
cache_entry_create_large
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
4.9 ms4.9 ms
cache_entry_roundtrip_large
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
5.5 ms5.5 ms
cache_entry_roundtrip_small
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
1.9 ms1.9 ms
build_workflow_rebuild
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
4.6 ms4.6 ms
decompression_low_ratio
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
1.1 ms1.1 ms
lru_realistic_eviction_pressure
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
9.1 ms9.1 ms
cache_entry_batch_create
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
48 ms48 ms
build_workflow_initial
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
29.2 ms29.2 ms
lru_cache_get_hit
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
974.3 µs975.1 µs
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
lru_cache_mixed_workload
benches/sccache_bench.rs
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms

Commits

Click on a commit to change the comparison range
Base
main
951e247
+0.01%
fix: use single-threaded tokio runtime in sccache client The sccache client was using Runtime::new() which creates a multi-threaded tokio runtime with worker threads equal to the number of CPU cores. On high-core-count servers running many parallel builds, this created an excessive number of threads. For example: - 96 vCPU server - 10 concurrent make invocations - Each make using -j16 - Result: 96 × 10 × 16 = 15,360 threads created by sccache wrappers While these threads are short-lived, with continuous build pipelines this constant thread creation/destruction causes unnecessary overhead. The sccache client only performs simple I/O operations (connecting to server, sending requests, receiving responses) and doesn't need worker threads. This change replaces all client-side Runtime::new() calls with Builder::new_current_thread().enable_all().build() to use a single-threaded runtime, reducing thread count from num_cpus to 1 per client invocation.
5a3519a
3 months ago
by venkyt-arista
-0.02%
Merge branch 'main' into venkyt/single-threaded-client
2d6cfc8
6 days ago
by sylvestre
-0.01%
Merge branch 'main' into venkyt/single-threaded-client
2f14909
6 days ago
by sylvestre
© 2026 CodSpeed Technology
Home Terms Privacy Docs