Skip to content
vivekmenezes edited this page Sep 8, 2017 · 6 revisions

ccache

Tired of recompiling our C++ libprotobuf and RocksDB every time you switch branches across commits to the vendor submodule? ccache is for you!
ccache is a "compiler cache". It's a wrapper on top of all the C compilers that caches compiler output and speeds up subsequent invocations for compiling inputs it's seen before (by file hash). By God, it works! After you've compiled a RocksDB version once, future compilations of that version will be much faster.

On OSX, brew install ccache and the prepend the path it tells you to your $PATH. This is not the output of which ccache. The pre-pending is important because the ccache wrappers need to be found in the PATH before the real compilers.

After installation, do a make clean; make build to populate the cache. Then, to check its magic, do make clean; make build again - this time it should be a lot quicker.