ccache
buildcache
DISCONTINUED
Our great sponsors
ccache | buildcache | |
---|---|---|
28 | 1 | |
2,138 | 209 | |
2.2% | - | |
9.4 | 0.0 | |
9 days ago | 7 months ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | zlib License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ccache
-
Deep Learning with “AWS Graviton2 + NVIDIA Tensor T4G” for as low as free* with CUDA 12.2
# Download and install ccache for faster compilation wget https://github.com/ccache/ccache/releases/download/v4.8.3/ccache-4.8.3.tar.xz tar -xf ccache-4.8.3.tar.xz pushd ccache-4.8.3 cmake . make -j $CPUS make install popd # Install NumPy, a dependency for PyTorch dnf install -y numpy # Install Python typing extensions for better type-checking sudo -u ec2-user pip3 install typing-extensions # Clone PyTorch repository and install from source git clone --recursive https://github.com/pytorch/pytorch.git pushd pytorch python3 setup.py install popd # Refresh the dynamic linker run-time bindings ldconfig # Install additional Python libraries for PyTorch sudo -u ec2-user pip3 install sympy filelock fsspec networkx
-
This isn’t the way to speed up Rust compile times
> What can I use to cache with MSVC that isn't Incredibuild?
Ccache works, but if you use the Visual Studio C++ compiler you need to configure your build to be cacheable.
-
Distcc: A fast, free distributed C/C++ compiler
Related
https://github.com/icecc/icecream - another option that does what distcc does, but aimed at a somewhat different use case.
https://ccache.dev/ - a similar idea but provides caching of build outputs instead of distributing builds. You can use it together with distcc to achieve even better performance.
-
Boring Python: Code Quality
> All those big changes introduce commits that make git bisect generally slower.
Bisection search is log2(n) so doubling the number of commits should only add one more bisection step, yes?
> Which might be awful if you also have some C code to recompile at every step of bisecting.
That reminds me, I've got to try out ccache (https://ccache.dev/ ) for my project. My full compile is one minute, but the three files that take longest to compiler rarely change.
-
Ccache – a fast C/C++ compiler cache
I worked with the internals of this some 16 years ago, maintaining a customized version at Zeugma Systems. Some change of mine was reworked by someone and upstreamed:
https://github.com/ccache/ccache/commit/e8354384f67bc733bea5...
-
Content based change detection with Make
ccache https://ccache.dev/ is great for C/C++, but it would be excellent if it exposed a more generic interface for use in the way this article describes.
-
Sccache – Shared Compilation Cache
My first contribution to a Rust codebase was <https://github.com/mozilla/sccache/commit/da2934fcc2ed2a4ae2...>. It is adding the -fminimize-whitespace flag to the preprocessor command when available (New in Clang 14, <https://releases.llvm.org/14.0.0/tools/clang/docs/ReleaseNot...>). The equivalent ccache patch is still pending <https://github.com/ccache/ccache/pull/815>.
When using the disk cache, ccache is still faster on cache hits due to also checking the hash of all input files (called a manifest) before even executing the preprocessor. It also can just clone/hardlink the file in the cache instead of copying it.
- Compiling an OpenBSD kernel 50% faster
-
What is your setup for developing in C?
Ccache, as the name suggests, caches compilation output, what speeds up recompilation.
buildcache
-
MSVC - Can I re-create the warning list without doing a rebuild?
I use buildcache with direct mode enabled (off by default) and it works well with cl.exe. the only caveat with all this other build tools is you need to use /Z7 instead of /Zi or /ZI for debug symbols.
What are some alternatives?
sccache - Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
linux-tkg - linux-tkg custom kernels
icecream - Distributed compiler with a central scheduler to share build load
setup-gcc - GitHub action to set up GCC
Gource - software version control visualization
gcovr - generate code coverage reports with gcc/gcov
psychec - A compiler frontend for the C programming language
OpenSSL - TLS/SSL and crypto library
MessagePack - MessagePack serializer implementation for Java / msgpack.org[Java]
forge - Lua scriptable build tool
ClangBuildAnalyzer - Clang build analysis tool using -ftime-trace