Zootropo

Diario del mundo geek.

miércoles, abril 21, 2004

Firefox Optimizado

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 corrieramos un ejectuable compilado con este flag en un PC con un Pentium anterior a Pentium 4 bajaría un poco la velocidad del programa.


SSE
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 redurcir su rendimiento, por lo que solo 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)


Otras Optimizaciones
  • /O1: Optimizado para conseguir el menor tamaño de ejecutable en lugar de la velocidad (opción por defecto)
  • /O2: Optimizado para velocidad


  • GL: 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 podeis 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 aquí o usando el compilador libre de GNU (gcc) aquí

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