
En el desarrollo de software , distcc es una herramienta para acelerar la compilación del código fuente mediante computación distribuida a través de una red informática . Con la configuración adecuada, distcc puede reducir drásticamente el tiempo de compilación de un proyecto. [ 2 ]
Está diseñado para funcionar con el lenguaje de programación C (y sus derivados como C++ y Objective-C ) y para usar GCC como su backend, aunque proporciona distintos grados de compatibilidad con el compilador Intel C++ y el paquete de compiladores Sun Studio de Sun Microsystems . [ 3 ] Distribuido bajo los términos de la Licencia Pública General GNU , distcc es software libre .
Diseño
distcc está diseñado para acelerar la compilación aprovechando la potencia de procesamiento no utilizada en otros ordenadores. Una máquina con distcc instalado puede enviar código para compilar a través de la red a un ordenador que tenga instalado el demonio distccd y un compilador compatible. [ 4 ]
distcc funciona como un agente para el compilador. Un demonio distcc debe ejecutarse en cada una de las máquinas participantes. La máquina de origen invoca un preprocesador para manejar los archivos de cabecera, las directivas de preprocesamiento (como #ifdef) y los archivos fuente, y envía el código fuente preprocesado a otras máquinas a través de la red mediante TCP, ya sea sin cifrar o usando SSH . Las máquinas remotas compilan esos archivos fuente sin ninguna dependencia local (como bibliotecas, archivos de cabecera o definiciones de macros) a archivos objeto y los envían de vuelta al originador para su posterior compilación. [ 5 ]
La versión 3 de distcc admite un modo (denominado modo de bombeo ) en el que los archivos de cabecera incluidos se envían a las máquinas remotas, de modo que el preprocesamiento también se distribuye.
Software relacionado
distcc era una opción para compilaciones distribuidas en versiones del paquete de desarrollo Xcode de Apple anteriores a la 4.3, pero ha sido eliminada.
Goma
Goma es una herramienta similar creada por Google para reemplazar distcc y ccache en la compilación de Chromium.
Caché
ccache es otra herramienta diseñada para reducir el tiempo de compilación mediante el almacenamiento en caché de la salida de los mismos archivos fuente de entrada. ccache también puede usar distcc como su backend, lo que permite la compilación distribuida si no está ya almacenada en caché mediante la variable de entorno CCACHE_PREFIX.
Helado
Icecream fue creado por SUSE basándose en distcc. Al igual que distcc, Icecream toma las tareas de compilación de una compilación y las distribuye entre máquinas remotas, lo que permite una compilación en paralelo. Pero a diferencia de distcc, Icecream utiliza un servidor central que programa dinámicamente las tareas de compilación en el servidor libre más rápido. [ 6 ]
Véase también
Referencias
- ↑ "Versión 3.4" . 11 de mayo de 2021. Consultado el 21 de mayo de 2021 .
- ↑ Laurence Bonney (22 de julio de 2004). "Reduzca el tiempo de compilación con distcc" . IBM . Consultado el 24 de agosto de 2011 .
- ↑ Martin Pool (23 de febrero de 2007). "Preguntas frecuentes sobre distcc" . Distcc.googlecode.com. Archivado del original el 7 de septiembre de 2009. Consultado el 19 de octubre de 2009 .
- ↑ Daniel Robbins (1 de febrero de 2004). "Distcc y computación distribuida" . Dr. Dobb's . Consultado el 24 de agosto de 2011 .
- ↑ VL Simpson (octubre de 2004). "Compilación rápida con Distcc" . linuxgazette.net . Consultado el 25 de agosto de 2011 .
- ↑ icecream: Compilador distribuido con un planificador central para compartir la carga de compilación , icecc, 27/12/2017 , consultado el 27/12/2017
Enlaces externos
- Sitio web oficial
- Modo de bombeo de Google Distcc
- Comparación de sistemas relacionados
- DMUCS: un sistema de compilación distribuido multiusuario
- Balanceador de carga empresarial DistCC
- Herramientas de compilación
- Herramientas de programación informática gratuitas
- Software multiplataforma
- Herramientas de programación Unix