distcc - distcc

distcc
Autor (es) original (is) Martin Pool
Desenvolvedor (s) Fergus Henderson
Versão estável
3.3 / 3 de março de 2018 ; 3 anos atrás ( 03/03/2018 )
Repositório
Escrito em C , C ++ , Python
Sistema operacional Plataforma cruzada
Modelo Compilador
Licença GNU General Public License
Local na rede Internet distcc .github .io

No desenvolvimento de software , distcc é uma ferramenta para acelerar a compilação de código-fonte usando computação distribuída em uma rede de computadores . Com a configuração correta, o distcc pode reduzir drasticamente o tempo de compilação de um projeto.

Ele foi projetado para funcionar com a linguagem de programação C (e seus derivados, como C ++ e Objective-C ) e para usar o GCC como backend, embora forneça vários graus de compatibilidade com o Intel C ++ Compiler e o Sun Studio Compiler Suite da Sun Microsystems . Distribuído sob os termos da GNU General Public License , distcc é um software livre .

Projeto

O distcc foi projetado para acelerar a compilação, aproveitando o poder de processamento não utilizado em outros computadores. Uma máquina com distcc instalado pode enviar código a ser compilado através da rede para um computador que possui o daemon distccd e um compilador compatível instalado.

distcc funciona como um agente para o compilador. Um daemon distcc deve ser executado em cada uma das máquinas participantes. A máquina de origem invoca um pré - processador para manipular arquivos de cabeçalho, diretivas de pré-processamento (como #ifdef) e os arquivos de origem e envia a origem pré - processada para outras máquinas na rede via TCP não criptografado ou usando SSH . As máquinas remotas compilam esses arquivos de origem sem quaisquer dependências locais (como bibliotecas, arquivos de cabeçalho ou definições de macro) para arquivos de objeto e os envia de volta ao originador para compilação posterior.

O distcc versão 3 suporta um modo (denominado modo de bomba ) no qual os arquivos de cabeçalho incluídos são enviados para as máquinas remotas, para que o pré-processamento também seja distribuído.

Software relacionado

distcc era uma opção para compilações distribuídas em versões do pacote de desenvolvimento Xcode da Apple anteriores a 4.3, mas foi removido.

Goma

Goma é uma ferramenta semelhante feita pelo Google para substituir distcc e ccache na compilação de cromo.

Ccache

ccache é outra ferramenta que visa reduzir o tempo de compilação, armazenando em cache a saída dos mesmos arquivos de origem de entrada. O ccache também pode usar distcc como backend, fornecendo compilação distribuída se ainda não estiver em cache usando a variável de ambiente CCACHE_PREFIX.

Sorvete

O sorvete foi criado pela SUSE com base no distcc. Como o distcc, o icecream pega tarefas de compilação de uma construção e as distribui entre máquinas remotas, permitindo uma construção paralela. Mas, ao contrário do distcc, o icecream usa um servidor central que agenda dinamicamente os trabalhos de compilação para o servidor gratuito mais rápido.

Veja também

Referências

links externos