Skip to content
SPECIFICTION
Get listed

Ccache vs Harmonia

Ccache

ccache.dev

Harmonia

github.com

Side by side

FigureCcacheHarmonia
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYesYes
Self-hostedYesYes
Plans published11
Spec score · Build Cache Software8.4 (#3)7.8 (#13)
LicenseCcache is free software released under the GNU General Public License version 3 or later.The project is licensed under the MIT License.
MaintainerCcache has been developed and maintained by Joel Rosdahl since 2010.The repository identifies Mic92 as a maintainer.
PurposeCcache speeds up recompilation by caching previous compilations and reusing results when the same compilation is repeated.Harmonia serves a Nix store as a binary cache over HTTP and is written in Rust.
SupportThe site directs users to its bug report page, issue tracker, discussions, and mailing list.The repository points users to its contributing guide and architecture documentation for project participation and technical details.

Plans

Ccache

  • CcacheFree

Ccache pricing →

Harmonia

  • HarmoniaFree

Harmonia pricing →

In their own words

Ccache

Ccache is a build tool that can reduce repeated compilation work by storing prior results and recognizing when a single-file compilation recurs. It supports compilers such as GCC, Clang and MSVC, and languages including C, C++, assembler, CUDA, Objective-C and Objective-C++, with support varying by compiler and language. Runtime support includes Linux, macOS and native Windows at support level A, and Windows with MSYS2 and other Unix-like platforms at level B. Direct and depend modes can avoid running the preprocessor. Remote caching is possible through adaptable storage backends, with listed helpers for HTTP, HTTPS and Redis protocols. Ccache records cache hit and miss statistics, manages cache size, supports Zstandard compression, and uses BLAKE3 and XXH3 in its hashing and corruption checks. It works with Make, CMake, Ninja and Visual Studio. It is free software under the GNU GPL version 3 or later. Its scope has limits: multi-file compilation, linking and compilations with unsupported flags fall back to the real compiler. The project also cautions that cache misses add overhead and recommends measuring typical workloads.

Visit ccache.dev

Harmonia

Harmonia is free, open-source software for serving a Nix store as a binary cache over HTTP. Written in Rust for Linux self-hosting, it supports HTTP range requests for NAR streaming and streaming build logs. The /serve// endpoint can provide package contents and discover index.html to serve websites directly from the Nix store. Harmonia can transparently compress content with zstd and provide TLS when no frontend web server is used. Documentation covers a NixOS module and nginx HTTPS frontend configuration for a public cache. Narinfo signing is disabled unless private signing-key paths are supplied. Prometheus metrics are available at /metrics, with a Grafana dashboard included in the repository. Since version 3.1.0, metadata is read directly from db.sqlite without a nix-daemon connection. Version 3.3.0 adds harmonia-gc for removing store garbage while nix-daemon builds. It uses the MIT License.

Visit github.com