Usa toda la potencia de la Raspberry Pi al compilar tus programas

Compilando código fuente usando los 4 cores de la Raspberry Pi 3

Compilando código fuente usando los 4 cores de la Raspberry Pi 3

Si llevas un tiempo usando Linux o ya te has encontrado en esas situaciones que te impiden instalar un programa para ejecutar una tarea determinada y has tenido que descargar el código fuente para compilar tú mismo binarios o librerías te habrás dado cuenta de que la Raspberry Pi es lenta en estas tareas, pero el tiempo de compilación puede reducirse y mucho sin hacer overclocking a la CPU.

Es más, en principio la Raspberry Pi 3 no permite overclockear o acelerar la CPU, por lo que la única manera de compilar código fuente sin dormirte en el proceso es aprovechar todos los recursos de los que disponemos, y esos recursos nos llegan en forma de cores de la CPU. A partir de la Raspberry Pi 2 el procesador central del sistema tiene más de un core o núcleo de procesamiento por lo que puede ejecutar más de una tarea en paralelo de forma real, siempre y cuando sepa cómo hacerlo o le digas tú que lo haga.

Cuando descargas el código fuente de cualquier programa habitualmente tienes que hacer una serie de tareas para generar el binario que pueda ejecutar el sistema, ./config y make para ser exactos, configuración y localización de ficheros necesarios para el entorno de trabajo y compilación en si misma, pero si lo haces tal cual la Raspberry Pi usará por defecto un único core de los disponibles.

Para forzar a usar más de un core y dividir el tiempo necesario por el número de éstos sólo tienes que añadir la opción -jX a make, siendo X el número de núcleos que deseas destinar a dicha tarea. Por ejemplo, el siguiente comando usará los cuatro cores de la Raspberry Pi 3:

make -j4

Con esto se generarán cuatro subprocesos de compilación que irán procesando archivos en paralelo con la consiguiente reducción del tiempo dedicado gracias a la optimización de los recursos.

Un par de notas al respecto: es fácil que te quedes sin memoria libre disponible al usar más de un core compilando programas complejos por lo que en estos casos quizá sea buena idea reducir la asignación de memoria gráfica para darle algo más al sistema y tienes que tener en cuenta que si pones el procesador al 100% durante mucho tiempo la Raspberry Pi se puede sobrecalentar. En las últimas distribuciones recibirás un aviso en forma de notificación con un termómetro rojo, si lo ves aparecer mucho deberías poner un pequeño disipador en la misma o situar tu dispositivo en una zona bien ventilada.

Sobre nosotros

Busco problemas, encuentro soluciones y mientras tanto cacharreo con todo aparato electrónico a mi alcance…

Etiquetado con: , , , , , , ,
Publicado en: Soluciones

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.