Incredibuild: una herramienta para acelerar el desarrollo
Incredibuild es una poderosa herramienta desarrollada por la empresa con ese mismo nombre. Recientemente se actualizó a una nueva versión y es propietaria, pero multiplataforma, pudiendo funcionar en Windows, Linux, y también para Android, Nintendo Switch, PlayStation 4, Xbox One, y otras plataformas, aunque originalmente fue pensada para el sector HPC.
IncrediBuild es una herramienta de aceleración de la compilación. Dado que sólo unas pocas personas compilan al mismo tiempo en una máquina determinada, ¿por qué no utilizar la potencia de cálculo ociosa de los que no construyen algunos de los archivos de los que sí lo hacen? Se instalaría un pequeño servidor IncrediBuild en cada máquina de la red local de la empresa para compilar y transmitir los archivos. El tiempo de compilación se dividiría entre el número de máquinas de la red si estén en desuso en ese instante. Así es como se consigue distribuir la carga de trabajo y acelerar la compilación.
Incredibuild es bastante usado en las compañías de videojuegos, ya que son grandes proyectos de compilación en lenguajes como C++ que necesitan de una gran potencia de CPU para generar los binarios rápidamente. Pero no son las únicas compañías que usan este tipo de software acelerador.
Si buscas una herramienta similar que sea de código abierto, existe una alternativa a Incredibuild para Linux denominada Distcc. Esta herramienta fue creada originalmente por Martin Pool, y aunque ahora esté algo más abandonada, es digna de mención. Está escrita en C, C++ y Python, es multiplataforma también y está lanzada bajo licencia GPL.
distcc, al igual que Incredibuild, es una herramienta de compilación de código fuente que usa la computación distribuida sobre una red de computadoras para acelerar el proceso y terminar antes en proyectos grandes. El diseño puede trabajar con lenguajes de programación C, C++, Objective-C, y usa el compilador GCC como backend. No obstante, también puede tener compatibilidad con Intel C++ Compiler, Sun Studio Compiler Suite, etc.