Desarrollar un navegador web como Firefox no es tan fácil como parece. Requiere un equipo de programadores brillantes que trabajen juntos para crear un navegador web eficiente y rápido que sea gratuito para nosotros. Para el navegador web Firefox, una de las principales mejoras en el rendimiento es tener menos archivos desnudos. Desde Firefox versión 4, muchos archivos, especialmente los javascripts que solían estar en la carpeta de componentes, se empaquetan en un archivo llamado omni.jar y esto efectivamente reduce la E / S de disco 30-100x. Omni.jar ha cambiado su nombre a omni.ja desde la versión 10 para evitar que Firefox se corrompa.
Esta mejora ha causado algunos problemas a algunos usuarios que prefieren modificar los archivos principales de Javascript para personalizarlos en lugar de usar complementos o extensiones. Si están utilizando una versión anterior de 7-Zip como 9.20 para abrir el archivo omni.ja, 7-Zip informará un error que dice " No se puede abrir el archivo omni.ja como archivo ", aunque se ha informado que el omni El archivo .ja es en realidad un archivo ZIP.
Una solución simple es cambiar el nombre de la extensión del archivo omni.ja a .zip y Windows podrá abrir y extraer los archivos. Luego pueden modificar los archivos según sus necesidades, volver a empaquetarlos en un archivo ZIP y finalmente cambiar el nombre de la extensión de archivo a .ja. Aunque este método funciona, no se recomienda debido a que se está realizando una optimización adicional en el archivo omni.ja original que puede producir una reducción adicional de 2-3x en la E / S del disco. El archivo optimizado omni.ja no es un formato ZIP estándar porque se ha cambiado el diseño. Por lo general, el índice se coloca al final del archivo, pero un omni.ja optimizado coloca el índice al frente del archivo para minimizar las búsquedas de disco y maximizar los beneficios de lectura anticipada. Esta es la razón por la cual algunos programas de archivador exigentes, como la versión anterior de 7-Zip 9.20, no pueden abrir omni.ja aunque sea un archivo ZIP. Ejecutar una función de "archivo de prueba" en 7-Zip mostrará que detectó un error en los encabezados.
Afortunadamente, el autor de 7-Zip ha agregado la compatibilidad para abrir el archivo optimizado omni.ja en la última versión. Si bien no tiene problemas para abrir omni.ja con el último 7-Zip, no es posible actualizar automáticamente los archivos editados. Como puede ver en la captura de pantalla a continuación, intentamos editar un archivo del omni.ja y 7-Zip arroja un error que dice que es de solo lectura cuando intenta actualizar el archivo editado en el archivo.
Ahora le mostraremos cómo desoptimizar el archivo omni.ja optimizado para que pueda editar convenientemente cualquier archivo directamente desde 7-Zip y luego reoptimizarlo para que no pierda la reducción adicional de 2-3x en la E / S del disco.
1. Descargue ActivePython e instálelo. Si está ejecutando una versión de Windows de 64 bits, asegúrese de descargar la versión x64 de ActivePython.
2. Descargue la secuencia de comandos python optimjars.py actualizada que se ha solucionado para funcionar con omni.ja
3. Para simplificar, coloque el archivo omni.jar y el archivo optimjars.py en su escritorio. Ejecute el símbolo del sistema presionando el botón Inicio, escriba cmd y presione la tecla Intro. Cambie el directorio a su escritorio escribiendo "cd desktop", presione Enter y escriba el comando a continuación para desoptimizar el archivo omni.ja.
optimizarjars.py --desoptimizar ./ ./ ./
Alternativamente, también puede copiar el archivo Optimizejars.py en el directorio donde reside omni.ja, que generalmente está en C: \ Archivos de programa \ Mozilla Firefox \, luego ejecutar el símbolo del sistema como administrador, cambiar el directorio a la ruta donde está omni. ja se encuentra y ejecuta el comando desoptimizar que se muestra arriba. Si obtiene un permiso denegado IOError 13 después de ejecutar el comando desoptimizar, eso significa que el símbolo del sistema no se ejecuta como administrador.
Después de una desoptimización exitosa, el archivo omni.ja se convierte en un archivo ZIP estándar que puede abrir cualquier programa archivador. Después de realizar cambios en los archivos dentro de omni.ja, debe volver a optimizar el archivo nuevamente para obtener un beneficio de rendimiento adicional escribiendo un comando ligeramente diferente que se muestra a continuación.
optimizarjars.py: optimiza ./ ./ ./
A continuación se muestra la prueba de la optimización y desoptimización del archivo omni.ja. La siguiente imagen muestra el archivo original optimizado omni.ja abierto con el Bloc de notas, un editor de texto estándar integrado en el sistema operativo Windows. El comienzo del encabezado del archivo muestra PK, que es una firma estándar para un archivo ZIP. Encontrará muchas rutas de archivo que son los índices de archivos en el archivo al principio del archivo omni.ja también.
Ahora echemos un vistazo al desoptimizado archivo omni.ja en el Bloc de notas. Nos hemos desplazado hasta el final del archivo y, como puede ver, los índices de los archivos se colocan aquí y no al principio. Si observa el comienzo del archivo, también debería ver que comienza con PK.
Tenga en cuenta que cada vez que se actualiza Firefox, es muy probable que el archivo omni.ja se actualice y sobrescriba el archivo omni.ja modificado. Esta es una de las razones principales por las que se deben usar extensiones en lugar de modificar los archivos principales de Firefox, ya que conserva la modificación y le permite mantener actualizada su versión de Firefox.