New comment by pullmoll on void-packages repository https://github.com/void-linux/void-packages/issues/26508#issuecomment-730645253 Comment: 1) You probably cannot expect a single hit between chromium-86 and chromium-87 because headers changed and a change in a central header (think `version.h`) prevents a cache hit. 2) You need to make sure to re-bootstrap your environment, i.e. do `./xbps-src zap` and `./xbps-src binary-bootstrap` again to make the `etc/conf` (not `etc/config` AFAICT) change take effect. 3) Any change in the compiler binary invalidates the entire current cache, because a checksum of the compiler binary (`/usr/bin/clang++` in this case) is used to make sure that compilation results will indeed be identical. So the update of llvm10 to llvm11 already invalidated all your existing cache entries. You can clean and zap it (`ccache -C` and `ccache -Z`) in such a case. I have a separate 1TB SDD for ccache and currently have 653GiB of 768GiB used with a cache hit rate of 8.06%. I'm building literally tens of thousands of packages for all architectures and can confirm that `ccache` indeed works as it is supposed to.