Uno de los últimos problemas que estuve sufriendo fue el increíble tiempo para que Firefox 3.5b4 iniciara, tomando más de un minuto y muchísimos accesos al disco duro; cosa que no pasaba con mi Firefox 3.0.10.

El problema viene que Firefox usa bases de datos en SQLite (desde 3.0) para guardar el historial, marcadores, cookies, datos en formularios, etc; y luego de muchos meses de uso bases de datos se fragmentan lo cual afecta el rendimiento al inicio de Firefox (en mi caso tengo 28MB en archivos *.sqlite) y este nunca compacta dichas bases de datos.

Para solucionar le problema hay que correr el comando VACUUM de SQLite, que sería un equivalente del OPTIMIZE TABLE en MySQL, esto eliminará todos los espacios del archivo de la base de datos eliminando los fragmentos en este.

Para hacerlo necesitas SQLite, tendrás que descargarlo o instalarlo con algún administrador de paquetes como el de Debian/Ubuntu:

sudo apt-get install sqlite3

Una vez instalado SQLite y accesible desde el PATH, cierren Firefox para que las bases de datos no estén bloqueadas, busquen en que directorio está su perfil de Firefox:

En Debian/Ubuntu sería en:

/home/[username]/.mozilla/firefox/[profile-id]

Para Windows:

C:\Documents and Settings\[username]\Application Data\Mozilla\Firefox\Profiles\[profile-id]

En dichas carpetas deberían estar varios archivos *.sqllite. Una vez sepan la ruta, hay que correr el comando:

sqlite3 places.sqlite "VACUUM"

places.sqlite es el archivo más grande en mi caso, donde firefox guarda el historial de navegación, pero también pueden correrlo sobre el resto de archivos *.sqlite

Completados estos pasos, al iniciar nuevamente Firefox, deberían notar que se tarda menos tiempo en iniciar, dependerá de cada instalación en cuanto tiempo y espacio puedan ganar.

Actualización: Marcelo ha creado un archivo .bat y un .zip que incluye lo necesario para hacer esta optimización a firefox mucho más sencilla a los usuarios de Windows.

Imagen: intothefuzz.com.