clcache
clcache is a free, open-source Python script that reuses cached object files to avoid unnecessary recompilation with Microsoft Visual Studio’s cl.exe compiler.
What clcache is
clcache is a free, open-source Python script that reuses cached object files to avoid unnecessary recompilation with Microsoft Visual Studio’s cl.exe compiler. It intercepts compiler calls and can pass unsupported invocations to the real compiler. Its cache key uses preprocessed source, a normalized command line, and the compiler binary’s size and modification time. The documented cache path requires `/c`, excludes `/link` and `/Zi`, and supports `/Z7`. The default cache limit is 1073741824 bytes (1 GiB); command-line options provide statistics, cleanup, clearing, and size configuration. Object files can be compressed with a configurable level from 1 to 9, but changing that setting requires clearing the cache. Hard-link mode can improve speed and disk usage when the cache and build directories are on the same drive. The project documents integration with Visual Studio and MSBuild and recommends disabling TrackFileAccess to avoid cache deletion and file tracking issues. A running clcachesrv.py process can cache file hashes, and a memcached backend can save and restore cached data. The INCLUDE and LIBPATH environment variables are unsupported, and changes to them may go undetected between compilations.
Good
- Reuses cached object files for cl.exe builds.
- Supports Visual Studio and MSBuild integration.
- Offers cache cleanup, statistics, and size controls.
- Object compression levels are configurable.
Watch out
- INCLUDE and LIBPATH changes may go undetected.
- Hard-link mode requires cache and build directories on one drive.
- The default cache limit is 1 GiB.
Who it suits
clcache suits Windows developers building with Microsoft Visual Studio’s cl.exe through Visual Studio or MSBuild who want to reuse local compiled object files. Its documented CI platform support is AppVeyor.
Verdict
clcache is a focused cache for supported Microsoft Visual C++ compilation workflows, with controls for size, cleanup, and compression. Check its invocation requirements and environment-variable limitation before relying on cache matches.
Plans and prices
From clcache's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| clcache | Free | BSD 3-Clause licensed source code · default cache size 1 GiB |
The facts
Each one read from clcache's own pages, with the date it was checked.
What it does
- Build integrations
- The README documents integration with Visual Studio and MSBuild and recommends disabling TrackFileAccess to avoid cache deletion and file tracking issues.checked 8 Oct 2026
- Cache controls
- The command line options include cache statistics, cleanup, clearing, and setting the maximum cache size.checked 8 Oct 2026
- Cache key
- The cache key uses preprocessed source, a normalized command line, and the compiler binary’s size and modification time.checked 8 Oct 2026
- Cache size limit
- The default maximum cache size is 1073741824 bytes (1 GiB).checked 8 Oct 2026
- Compiler integration
- It is designed to intercept calls to cl.exe and can relay unsupported invocations to the real compiler.checked 8 Oct 2026
- Compression
- Object files can be compressed, with a configurable compression level from 1 to 9; changing compression settings requires clearing the cache.checked 8 Oct 2026
- Hard links
- Hard-link mode can improve speed and disk usage, but requires the cache and build directories to be on the same drive.checked 8 Oct 2026
- Intended users
- The project is intended for users building with Microsoft Visual Studio’s cl.exe compiler who want to reuse compiled object files.checked 8 Oct 2026
- Known limitation
- The INCLUDE and LIBPATH environment variables are listed as unsupported, and changes to them may not be detected between compilations.checked 8 Oct 2026
- License
- The project source is subject to the BSD 3-Clause License unless a file states otherwise.checked 8 Oct 2026
- Purpose
- clcache is a Python script that avoids unnecessary recompilation by reusing cached object files for Microsoft Visual Studio.checked 8 Oct 2026
- Shared cache options
- A running clcachesrv.py process can cache file hashes, and a memcached backend can be used to save and restore cached data.checked 8 Oct 2026
- Supported compile invocations
- The documented cache path requires /c, excludes /link, and excludes /Zi, while /Z7 is supported.checked 8 Oct 2026





