zccache benchmark stats
Raw machine-readable data: latest.json and history.jsonl. Per-language README images:
| Scenario | Bare compiler | sccache | zccache | bare cache | sccache cache | zccache cache | zccache vs sccache | zccache vs bare |
|---|---|---|---|---|---|---|---|---|
| C inline args | ||||||||
| Single-file, Cold | 1.912s | 3.535s | 2.847s | 0 B | 576 KiB | 124 KiB | 1.2x faster | 1.5x slower |
| Single-file, Warm | 1.928s | 0.185s | 0.094s | 0 B | 576 KiB | 208 KiB | 2.0x faster | 20.5x faster |
| C static-library link | ||||||||
| Static archive, Cold | 0.051s | 0.050s | 0.056s | 0 B | 0 B | 369 KiB | 1.1x slower | 1.1x slower |
| Static archive, Warm | 0.050s | 0.051s | 0.001s | 0 B | 0 B | 374 KiB | 51.0x faster | 50.0x faster |
| C++ inline args | ||||||||
| Single-file, Cold | 6.626s | 9.269s | 7.272s | 0 B | 0 B | 231 KiB | 1.3x faster | 1.1x slower |
| Single-file, Warm | 6.669s | 0.226s | 0.100s | 0 B | 0 B | 231 KiB | 2.3x faster | 66.7x faster |
| Multi-file, Cold | 6.580s | 6.616s | 7.533s | 0 B | 0 B | 231 KiB | 1.1x slower | 1.1x slower |
| Multi-file, Warm | 6.560s | 6.436s | 0.016s | 0 B | 0 B | 231 KiB | 402.2x faster | 410.0x faster |
| C++ response files | ||||||||
| Single-file RSP, Cold | 6.632s | 9.391s | 7.946s | 0 B | 0 B | 714 KiB | 1.2x faster | 1.2x slower |
| Single-file RSP, Warm | 6.644s | 0.222s | 0.172s | 0 B | 0 B | 714 KiB | 1.3x faster | 38.6x faster |
| Multi-file RSP, Cold | 6.537s | 6.561s | 7.577s | 0 B | 0 B | 714 KiB | 1.2x slower | 1.2x slower |
| Multi-file RSP, Warm | 6.550s | 6.559s | 0.038s | 0 B | 0 B | 714 KiB | 172.6x faster | 172.4x faster |
| C++ sibling git remap | ||||||||
| Sibling-workspace no __FILE__, Warm | 6.518s | 0.219s | 0.149s | 0 B | 1.7 MiB | 553 KiB | 1.5x faster | 43.7x faster |
| Sibling-workspace with __FILE__, Warm | 6.492s | 9.128s | 0.153s | 0 B | 1.8 MiB | 1.0 MiB | 59.7x faster | 42.4x faster |
| C++ driver link | ||||||||
| Driver link, Cold | 0.055s | 0.080s | 0.065s | 0 B | 0 B | 85 KiB | 1.2x faster | 1.2x slower |
| Driver link, Warm | 0.055s | 0.060s | 0.001s | 0 B | 0 B | 90 KiB | 60.0x faster | 55.0x faster |
| Emscripten em++ | ||||||||
| Single-file, Cold | 5.981s | 10.536s | 7.357s | 0 B | 0 B | 172 KiB | 1.4x faster | 1.2x slower |
| Single-file, Warm | 5.974s | 0.254s | 0.107s | 0 B | 0 B | 172 KiB | 2.4x faster | 55.8x faster |
| Multi-file, Cold | 2.886s | 3.005s | 3.818s | 0 B | 0 B | 172 KiB | 1.3x slower | 1.3x slower |
| Multi-file, Warm | 2.862s | 2.896s | 0.018s | 0 B | 0 B | 172 KiB | 160.9x faster | 159.0x faster |
| Emscripten sibling git remap | ||||||||
| Sibling-workspace, Warm | 6.051s | 0.285s | 0.164s | 0 B | 1.8 MiB | 1.8 MiB | 1.7x faster | 36.9x faster |
| Emscripten link | ||||||||
| HTML link, Cold | 0.314s | 0.480s | 0.330s | 0 B | 0 B | 71 KiB | 1.5x faster | 1.1x slower |
| HTML link, Warm | 0.315s | 0.321s | 0.001s | 0 B | 0 B | 98 KiB | 321.0x faster | 315.0x faster |
| Wasm link, Cold | 0.142s | 0.303s | 0.154s | 0 B | 0 B | 2.1 KiB | 2.0x faster | 1.1x slower |
| Wasm link, Warm | 0.143s | 0.152s | 0.001s | 0 B | 0 B | 6.5 KiB | 152.0x faster | 143.0x faster |
| Rust rustc | ||||||||
| Build, Cold | 1.677s | 1.876s | 4.778s | 0 B | 0 B | 3.0 MiB | 2.5x slower | 2.8x slower |
| Build, Warm | 1.696s | 1.782s | 1.559s | 0 B | 0 B | 3.0 MiB | 1.1x faster | 1.1x faster |
| Check, Cold | 0.960s | 1.158s | 2.474s | 0 B | 0 B | 522 KiB | 2.1x slower | 2.6x slower |
| Check, Warm | 0.932s | 1.052s | 0.632s | 0 B | 0 B | 522 KiB | 1.7x faster | 1.5x faster |
| Rust sibling git remap | ||||||||
| Sibling-workspace, Warm | 1.645s | 1.772s | 0.689s | 0 B | 0 B | 3.4 MiB | 2.6x faster | 2.4x faster |
| Rust workspace link | ||||||||
| Workspace staticlib link, Cold | 0.042s | 0.134s | 0.093s | 0 B | 0 B | 33 MiB | 1.4x faster | 2.2x slower |
| Workspace staticlib link, Warm | 0.042s | 0.046s | 0.010s | 0 B | 0 B | 47 MiB | 4.6x faster | 4.2x faster |
Environment
- Runner: Linux-6.17.0-1022-azure-x86_64-with-glibc2.39
- Benchmark command:
soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_c_zccache_vs_bare --nocapture --ignored --test-threads=1 ; soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_c_archive_link --nocapture --ignored --test-threads=1 ; soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_warm_cache_zccache_vs_sccache --nocapture --ignored --test-threads=1 ; soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_response_file --nocapture --ignored --test-threads=1 ; soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_cpp_sibling_remap_warm --nocapture --ignored --test-threads=1 ; soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_cpp_driver_link --nocapture --ignored --test-threads=1 ; soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_emcc_warm_cache_zccache_vs_sccache --nocapture --ignored --test-threads=1 ; soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_emcc_sibling_remap_warm --nocapture --ignored --test-threads=1 ; soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_emcc_link --nocapture --ignored --test-threads=1 ; soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_rustc_zccache_vs_sccache --nocapture --ignored --test-threads=1 ; soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_rustc_sibling_remap_warm --nocapture --ignored --test-threads=1 ; soldr --no-cache cargo test -p zccache --test perf_bench_test -- perf_rust_workspace_link --nocapture --ignored --test-threads=1 - soldr: soldr 0.8.13
- rustc: rustc 1.95.0 (59807616e 2026-04-14)
- clang: Ubuntu clang version 18.1.3 (1ubuntu1)
- sccache: sccache 0.17.0



