bazel-remote vs clcache
bazel-remote
github.comclcache
github.comSide by side
| Figure | bazel-remote | clcache |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | Yes | — |
| Linux | Yes | — |
| API | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Build Cache Software | 8.3 (#4) | 7.4 (#19) |
| Compression | It supports zstandard-compressed CAS blobs, which can reduce network use and increase effective cache size. | Object files can be compressed, with a configurable compression level from 1 to 9; changing compression settings requires clearing the cache. |
| License | The repository identifies the project as licensed under Apache-2.0. | The project source is subject to the BSD 3-Clause License unless a file states otherwise. |
| Purpose | bazel-remote is an HTTP/1.1 and gRPC server for use as a remote build cache for Bazel and other REAPI clients, or as part of a remote execution service. | clcache is a Python script that avoids unnecessary recompilation by reusing cached object files for Microsoft Visual Studio. |
Plans
In their own words
bazel-remote
bazel-remote is free, Apache-2.0-licensed open-source software that runs as a self-hosted HTTP/1.1 and gRPC server for Bazel remote caching and other REAPI clients. Cache data can stay on disk with a configured maximum size; least recently used files are removed when that limit is reached. Storage backends include S3, Google Cloud Storage, and an experimental Azure Blob Storage proxy. The server exposes HTTP REST endpoints and REAPI v2 ActionCache, ContentAddressableStorage, Capabilities, and Byte Stream services over gRPC. Zstandard-compressed CAS blobs can reduce network use and increase effective cache capacity. Prometheus metrics are available for HTTP and gRPC endpoints. Deployment options include Docker images, Docker Compose, Kubernetes examples, or a standalone Linux binary, including ARM64 Docker deployments such as Raspberry Pi. Authentication supports .htpasswd-style credentials or mutual TLS; LDAP is experimental, and only one mechanism can be active. TLS settings are configurable. The default permits unauthenticated access, so operators must configure protection.
clcache
clcache is a free, open-source Python script for Windows builds using Microsoft Visual C++ cl.exe. It intercepts compiler calls and reuses cached object files to avoid recompiling matching work, while unsupported invocations can be passed to the real compiler. Cache keys use preprocessed source, a normalized command line, and the compiler binary’s size and modification time. Command-line controls provide statistics, cleanup, clearing, and maximum-size settings; the default limit is 1073741824 bytes (1 GiB). Object files can be compressed at levels 1 through 9, though changing compression settings requires clearing the cache. Hard-link mode requires cache and build directories on the same drive. Documentation covers Visual Studio and MSBuild integration, recommends disabling TrackFileAccess, and describes optional hash caching and memcached storage. The documented path requires /c, excludes /link and /Zi, and supports /Z7. INCLUDE and LIBPATH changes may not be detected.