Freedom251 › Build Cache Software
zccache

What zccache is
zccache is a free, open-source compiler cache for C, C++, and Rust, designed as a drop-in replacement for sccache and ccache. It keeps a persistent daemon running, watches the filesystem, and holds file metadata in memory to speed up cache lookups. The project lists support for Emscripten, wasm-ld, clang-tidy, include-what-you-use, rustfmt, and clippy alongside C/C++ and Rust builds. Build workflows can connect through Ninja, CMake, Meson, Make, Cargo using RUSTC_WRAPPER, and Python tools including setuptools-rust, maturin, and scikit-build-core. Its composite GitHub Action provides compilation and Cargo registry cache layers, with optional target snapshots and cache warming. Storage options listed are the local filesystem and GitHub Actions Cache; remote execution is not provided. Installation routes include shell and PowerShell installers, platform-specific release archives, PyPI wheels, and crates.io packages. The daemon manages retention with a default artifact budget of 5% of filesystem capacity, clamped to 40–200 GiB and adjusted for free space; size overrides and LRU eviction are available. zccache supports Linux, macOS, and Windows, and is licensed under AGPL-3.0-only.
Who it suits
zccache suits developers and teams building C, C++, or Rust projects with one of its documented build systems, including teams using GitHub Actions. It can also fit users who want a local cache or the option to self-host; CUDA/nvcc is unsupported and MSVC support is partial.
What it does well
- Free and open source under AGPL-3.0-only.
- Supports C, C++, Rust, and Emscripten builds.
- Integrates with Ninja, CMake, Meson, Make, and Cargo.
- GitHub Action includes compilation and Cargo registry cache layers.
- Installers and packages cover several platforms and ecosystems.
What to know first
- CUDA/nvcc is unsupported.
- MSVC cl.exe/link.exe support is partial.
- S3, cloud object storage, Redis, and Memcached are unsupported.
- Target snapshot caching is off by default.
Limits
The default artifact budget is 5% of filesystem capacity, clamped to 40–200 GiB and adjusted for free space; size overrides and LRU eviction are available. GitHub Actions target snapshots are disabled by default and have a default maximum size of 2 GiB.
Getting started
- Open the zccache GitHub repository.
- Choose a shell or PowerShell installer, platform release archive, PyPI wheel, or crates.io package.
- Connect the cache to a supported build system such as Ninja, CMake, Meson, Make, or Cargo.
- For GitHub Actions, use the project's composite action and configure optional target snapshots if needed.
- Use the CLI's Windows Defender exclusion commands if needed; adding an exclusion requires elevated privileges.
Verdict
Choose zccache if your C, C++, or Rust workflow uses a supported build system and you want a free local cache or GitHub Actions caching. Look elsewhere if you need CUDA/nvcc support, full MSVC support, a listed distributed cache backend, or remote execution.
Questions
How much does zccache cost?
It is free and open source.
Which operating systems does it support?
Linux, macOS, and Windows are listed.
Which build systems can use it?
Documented integrations include Ninja, CMake, Meson, Make, Cargo, setuptools-rust, maturin, and scikit-build-core.
Can it use remote cache storage?
The feature matrix lists local filesystem and GitHub Actions Cache support. S3, Google Cloud Storage, Redis, Memcached, Azure Blob, and distributed build farms are marked unsupported.
Does it support CUDA or MSVC?
CUDA/nvcc is marked unsupported, while MSVC cl.exe/link.exe support is partial.
What license does it use?
The project states that it is licensed under GNU Affero General Public License v3.0 only (AGPL-3.0-only).
Facts from zccache's own pages
- Build integrations
- It documents integration with Ninja, CMake, Meson, Make, Cargo through RUSTC_WRAPPER, and Python build tools including maturin. · github.com, 8 Oct 2026
- Cache architecture
- It uses a persistent daemon, filesystem watching, and in-memory file metadata to speed up cache lookups. · github.com, 7 Oct 2026
- Cache design
- It uses a persistent daemon, filesystem watching, and in-memory file metadata to speed up cache lookups. · github.com, 8 Oct 2026
- Cache limits
- The default artifact budget is 5% of filesystem capacity, clamped to 40–200 GiB, with configurable size overrides and LRU eviction. · github.com, 8 Oct 2026
- Cache retention
- The daemon manages cache retention, with a default artifact budget of 5% of filesystem capacity clamped to 40–200 GiB, subject to free-space adjustments. · github.com, 7 Oct 2026
- CI integration
- The project provides a composite GitHub Action with compilation and Cargo registry caching, plus optional target snapshots and cache warming. · github.com, 8 Oct 2026
- GitHub Actions
- The project provides a composite GitHub Action with compilation and Cargo registry cache layers, plus an optional target snapshot cache. · github.com, 7 Oct 2026
- Headquarters
- San Francisco, United States · github.com, 28 Sept 2026
- Installation
- The README provides shell and PowerShell installers, platform-specific release archives, PyPI wheels, and crates.io packages. · github.com, 7 Oct 2026
- Known coverage limit
- The feature matrix marks CUDA/nvcc unsupported and MSVC cl.exe/link.exe support as partial. · github.com, 7 Oct 2026
- License
- The repository identifies its license as AGPL-3.0. · github.com, 8 Oct 2026
- Maintenance and support
- The repository exposes GitHub Issues and Pull Requests for project discussion and contributions. · github.com, 8 Oct 2026
- Platforms
- The README lists Linux, macOS, and Windows binaries, including Linux aarch64, Apple Silicon, and Windows arm64 release archives. · github.com, 8 Oct 2026
- Purpose
- zccache is a local-first compiler cache for C/C++ and Rust, described as a drop-in replacement for sccache and ccache. · github.com, 8 Oct 2026
- Storage
- The feature comparison lists local filesystem storage and GitHub Actions Cache support, but marks S3, Google Cloud Storage, Redis, Memcached, Azure Blob, and distributed build farms unsupported. · github.com, 8 Oct 2026
- Supported tools
- The README lists support for Emscripten, wasm-ld, clang-tidy, include-what-you-use, rustfmt, and clippy. · github.com, 8 Oct 2026
- Target snapshot limit
- In the GitHub Action, target snapshot caching is disabled by default and its default maximum snapshot size is 2GiB. · github.com, 7 Oct 2026
- Windows helper
- A Defender exclusion helper can check, add, or remove an exclusion for the cache directory; adding one requires elevated privileges. · github.com, 8 Oct 2026
Where zccache stands on Freedom251
- Build Cache Software#18 of 23