
Ccache é uma ferramenta de desenvolvimento de software que armazena em cache compilações para que na próxima vez a mesma compilação possa ser evitada e os resultados possam ser retirados do cache.
Isso pode acelerar bastante o tempo de recompilação. A detecção é feita por hash de diferentes tipos de informações que devem ser exclusivas para a compilação e, em seguida, usando a soma de hash para identificar a saída em cache.
Ccache é licenciado sob a Licença Pública Geral GNU.
Para instalar o Ccache você pode construir do zero e instalar com as ferramentas CMake e GNU Make clonando o código fonte do repositório no GitHub:
git clone https://github.com/ccache/ccache
cd ccache
cmake -B build -D CMAKE_BUILD_TYPE=Release .
cd build && make
sudo make installMas, o Cache está disponível na maioria dos repositórios dos gerenciadores de pacotes. Por exemplo, para instalar no Ubuntu:
sudo apt install ccache
Sabemos que as compilações que usam RegEx tendem a demorar um pouco mais que o normal. Suponhamos que você possua esse código em C++:
#include <iostream>
#include <regex>
int main(){
  std::string html = "<a href=\"https://terminalroot.com.br/\">Esse é um link</a>";
  std::regex tags("<[^>]*>");
  std::string remove{};
  std::cout << std::regex_replace(html, tags, remove) << '\n';
  return 0;
}Para acelerar a compilação, você deve passar para o ccache o comando de compilação:
ccache g++ regex.cppPara compilar com GCC
Ou, se for com Clang:
ccache clang++ regex.cppVocê pode linkar o ccache para ser usado como padrão, ex.: ln -s ccache /usr/local/bin/g++.
Para dicas de parâmetros e optimizações, consulte a ajuda ou o manual:
man ccache
ccache --helpVisite também o repositório e o site oficial: https://ccache.dev/.
Alternativas ao Ccache seria os softwares: distcc, Icecream(SUSE) e Goma(Google).