apt-build, optimizando los paquetes para nuestra máquina

(10 comentarios)

Una de las características más interesantes de Gentoo es que permite instalar las aplicaciones compiladas de forma optimizada para tu máquina, consiguiendo un mayor rendimiento.

Apt-build nos ofrece algo similar en Debian y derivadas (como Ubuntu). Para instalarlo en el sistema:

sudo aptitude install apt-build

Se nos preguntará por el nivel de optimización que queramos conseguir; cuanto más trabajo haga el compilador para optimizar la aplicación que instalemos, mejor rendimiento obtendremos con ella, pero evidentemente, más tardaremos en compilar. Recomendado dejarlo en Medio.

También nos preguntará por la arquitectura de nuestro procesador. Si dudais os puede ser de utilidad la sección de flags seguros de Gentoo-wiki; fijaros en el flag -march. Yo tengo un Intel Core 2 Duo T7200 pero el flag -march=core2 que sería el correspondiente a las arquitecturas Core 2 Duo no está disponible más que a partir de la versión 4.3 de gcc (la de Ubuntu Feisty Fawn es la 4.1.2), así que utilizo Prescott.

[Pulsa para continuar]

Firefox Optimizado

(0 comentarios)

Ya sea compilando nosotros mismos el programa de las fuentes o aprovechando la compilación de otra persona el rendimiento del navegador mejorará por el hecho de haber indicado al compilador que optimice el ejecutable para nuestra plataforma.

A la hora de elegir la compilación o de seleccionar que flags le vamos a pasar al compilador tenemos estas opciones.

Procesador:

  • /G3 y /G4: genera código optimizado para 386 y 486 respectivamente (no tiene efecto real, se mantiene por razones de compatibilidad)
  • /G5: optimiza el código para los procesadores Pentium
  • /G6: la opción por defecto; optimiza el código para Intel Pentium Pro, Pentium II y Pentium III.
  • /G7: optimiza el código para Intel Pentium 4 o AMD Athlon. Si corriéramos un ejecutable compilado con este flag en un PC con un Pentium anterior a Pentium 4 bajaría un poco la velocidad del programa.

Extensiones

SSE (Streaming SIMD Extensions) y su sucesor SSE2 (Streaming SIMD Extensions 2) son una serie de instrucciones introducidas por Intel totalmente soportadas por los Athlon XP de AMD (los Athlon solo soportan algunas de estas instrucciones, los Athlon XP todas) que nos permitirá mejorar el rendimiento de Firefox si le indicamos que las utilice.

  • Sin SSE: la opción por defecto es no utilizar SSE. Funciona con todos los procesadores.
  • /arch:SSE: Require un Pentium III o superior o Athlon XP (aunque los Athlon XP lo soporten puede reducir su rendimiento, por lo que sólo es recomendado para Pentium III y superior)
  • /arch:SSE2: Requiere Pentium 4 o superior , Athlon64, o AthlonFX (al igual que en el caso anterior solo se recomienda para Pentium)

Optimizaciones

  • /O1: Optimizado para conseguir el menor tamaño de ejecutable en lugar de la velocidad (opción por defecto)
  • /O2: Optimizado para velocidad
  • L: Optimización Global
  • GA: Optimizaciones para el acceso a variables TLS.

Las compilaciones oficiales de Mozilla, Firefox y Thunderbird son O1-G6-no SSE para maximizar la compatibilidad; para encontrar compilaciones ajustadas a vuestro procesador podéis visitar los foros de MozillaZine en los que también se puede encontrar binarios de Thunderbird o Mozilla. Además se pueden encontrar guías para compilar nuestros propios ejecutables de Firefox usando como compilador el del IDE Visual Studio .NET de Microsoft o usando el compilador libre de GNU (gcc).

En este momento estoy usando un O2-GL-G7 compilado por Krueger optimizado para Athlon Thunderbird.