linux - todos - Compilar programas en sistema multinúcleo o distribuido
procesadores en windows 10 (3)
¿Hay algún software disponible en Linux que compila un código fuente que contiene una gran cantidad de archivos de forma paralela en sistemas multinúcleo o distribuidos? Las bibliotecas como gcc o xserver tardan mucho tiempo en compilarse en máquinas unicore / dual y la mayoría de las veces es frustrante cuando se necesita mucha recopilación. ¿Hay alguna técnica para compilar dicho código fuente de forma paralela?
En sistemas de memoria distribuida, puede usar distcc para distribuir trabajos de compilación en otras máquinas. Esto requiere un poco de configuración, pero realmente puede acelerar tu construcción si tienes algunas máquinas adicionales.
En los sistemas multinúcleo de memoria compartida, puede usar make -j
, que intenta generar trabajos de compilación basados en las dependencias en sus archivos make. Puedes correr así:
$ make -j
que no impondrá ningún límite en el número de trabajos generados, o puede ejecutar con un parámetro entero:
$ make -j8
que limitará el número de trabajos de compilación simultáneos. Aquí, el límite es de 8 trabajos simultáneos. Por lo general, desea que esto sea algo cercano a la cantidad de núcleos en su sistema.
GNU make (la marca estándar instalada en los sistemas Linux) admite la ejecución de comandos en paralelo. Consulte http://www.gnu.org/software/make/manual/make.html#Parallel
ccache también se puede usar para acelerar el proceso de compilación