¿Compilar aplicaciones desde el código fuente mejora la velocidad y/o la RAM?

¿Compilar aplicaciones desde el código fuente mejora la velocidad y/o la RAM?

He estado usando Linux durante algunos meses y actualmente estoy ejecutando Arch en una computadora de escritorio antigua. He escuchado cosas maravillosas sobre compilar todo desde el código fuente, por ejemplo, que Gentoo y otras distribuciones similares son increíblemente rápidas. Nunca lo he usado y no planeo hacerlo muy pronto. Sin embargo, es posible que desee acelerar mis aplicaciones diarias. También me pregunto si debería utilizar GCC o el compilador C de Intel. Normalmente uso como máximo 2 GB de RAM, pero tengo un procesador antiguo y lento. ¿Debo compilar todas mis aplicaciones desde el código fuente o seguir usando binarios?

¡Gracias!

Respuesta1

La respuesta es sí. ¿Notablemente? Casi nunca.

Dependiendo del hardware en el que lo vayas a ejecutar, la velocidad "podría" mejorar, porque podrías utilizar cualquier optimización que ofrezca tu CPU. Pero tenga en cuenta que la mayoría de las veces una aplicación solo usa bibliotecas, por lo que para aprovechar eso debe utilizar Gentoo completo, por ejemplo.

¿Vale la pena el esfuerzo? Probablemente no, a menos que esté ejecutando un hardware bastante antiguo, o esté haciendo algunos cálculos numéricos serios o algo que se ejecute tantas veces por segundo, que cada instrucción cuenta.

El hardware actual está básicamente inactivo la mayor parte del tiempo, y eso es un hecho que permite cosas como SETI@home, Folding@home, Great Mersenne Prime Search,...

En hardware antiguo, la configuración puede ayudar más que la recompilación (que viene con su propio conjunto de problemas, como mantenimiento, correcciones de seguridad y seguimiento de dependencias).

Por ejemplo, configurar Firefox para utilizar sólo uno o dos procesos de contenido paralelos ayuda mucho en sistemas con poca memoria. Si su problema es la CPU, es posible que desee deshabilitar o ejecutar manualmente ciertos servicios o tareas en segundo plano. Tumblerd puede matar fácilmente una computadora vieja, y lo mismo ocurre con la actualización.

Siempre en el lado de la configuración, puede volver a compilar para deshabilitar bibliotecas/servicios innecesarios o ajustar otros campos. Por ejemplo, crear LibreOffice con --disable-pdfimport. En ese caso general, sería mejor descargar los paquetes fuente utilizados en su sistema (no en sentido ascendente) y modificarlos. No hay mucho que ganar, pero sí mucho que aprender.

También tenga en cuenta que la velocidad de una aplicación puede, en algunos casos, estar limitada por la velocidad de E/S del disco o de la red. En estos casos, no se puede esperar que la compilación del software desde el origen mejore el rendimiento.

información relacionada