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 install
Mas, 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.cpp
Para compilar com GCC
Ou, se for com Clang:
ccache clang++ regex.cpp
Você 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 --help
Visite também o repositório e o site oficial: https://ccache.dev/.
Alternativas ao Ccache seria os softwares: distcc, Icecream(SUSE) e Goma(Google).