No me importa cuánto tiempo tome comprimir, todo lo que quiero lograr es dos cosas:
- La mejor relación de compresión absoluta posible
- Compatibilidad con lectores estándar, como Windows y WinZip
Por lo tanto, sugerencias como 7-zip no serán de mucha utilidad, a menos que 7-zip también sea un poco mejor en la compresión ZIP estándar (en lugar de usar su muy buen formato .7z).
Idealmente estoy buscando:
- Una recomendación de un software
- Las configuraciones particulares para ese software que permiten la mejor compresión absoluta
- Algo que es gratis
Recuerde, ¡cuánto tiempo toma comprimir no es un problema!
Una última cosa, algunos archivos pueden estar mejor comprimidos con diferentes configuraciones, como "Tamaño de palabra" o "Tamaño de diccionario", ¿hay alguna herramienta que pueda analizar los archivos y elegir la relación de compresión más adecuada, o WinZip, 7-zip etc. ya haces eso?
fuente
-mm=
lugar de-m0=
.-m0=
se usa en.7z
archivos. Además, el manual de 7-Zip especifica que-mx=9
para los archivos Zip es equivalente a-mfb=128 -mpass=10
. Lo que he notado es que-mfb=258 -mpass=15
siempre es mucho más lento-mx=9
y a menudo no ahorra mucho espacio (u ocasionalmente usa algunos bytes más). De vez en cuando ahorra un poco de espacio decente.Los mejores compresores desinflados (el formato de compresión utilizado por ZIP estándar) que conozco son:
7zip mm=Deflate mx=9
Defla la comparación del tamaño de archivo comprimido del archivo de compresión de datos usando Zopfli (archivado del original ):
Incluso en PNG aleatorios, Zopfli pudo ser 0.5% mejor que pngout . Zopfli hace el más pequeño de todos.
fuente
Suponiendo que está en Windows: si aún desea usar el formato ZIP, recomendaría usar la utilidad de línea de comandos KZIP gratuita de Ken Silverman, que se encuentra aquí . Cópielo dentro de la carpeta que contiene todos los archivos que necesita comprimir, vaya a esa carpeta con CMD y ejecute el siguiente comando:
Como sugiere Roald, es mejor incluir el directorio donde
kzip.exe
reside en la variable PATH de su sistema para evitar que se incluya en el archivo / archivo Zip.Hasta ahora, he encontrado que los archivos ZIP creados con KZIP son alrededor de 10-20% más pequeños que los creados por otros programas de compresión ZIP. También se pueden abrir completamente con otro software de archivo (Winzip, WinRAR, 7-zip, etc.) y con Windows.
fuente
Script súper simple para comprimir todas las carpetas de una carpeta en archivos zip individuales usando el tipo de archivo .zip y un método de compresión Deflate64.
fuente
Es más un límite de la cantidad de memoria que tiene que poner a disposición del compresor mientras hace su trabajo. Usando 7-Zip, empacaría un archivo con formato .Zip, Ultra compresión, método de compresión LZMA y el tamaño de diccionario predeterminado de 64 MB. Si tiene la memoria disponible, aumente el tamaño del diccionario, aunque tenga en cuenta que necesitará casi 3 GB de memoria disponible para comprimir con un diccionario de 64 MB. El uso de un diccionario más grande debería permitir que 7-zip busque más coincidencias y proporcionar una mejor compresión si puede permitirse el lujo de la memoria. LZMA supera a gzip (deflate / deflate64, creo) y bzip2 en un buen 5% en promedio, hasta 10-12% dependiendo del contenido.
No conozco una herramienta para encontrar el mejor tamaño de palabra / diccionario, aunque creo que encontrará que el método de compresión tiene una correlación más fuerte con los datos de entrada, y el promedio / valores predeterminados debería ser bueno de lo contrario.
fuente
Si está buscando el mejor compresor para entornos Windows , le recomiendo que pruebe el formato * .zip con el 'Método de compresión' LZMA de 7-zip O use los archivos SFX de 7-Zip * .7z. Los archivos SFX tienen una sobrecarga de aproximadamente 130 kb sobre archivos comprimidos de .7z y vale la pena usarlos cuando la diferencia de tamaño entre .7z y .zip es grande.
Otro competidor bueno pero poco común es el NSIS, que puede usar el modo de compresión LZMA para crear exes altamente personalizables. Sé que NSIS no es un compresor, sino un lenguaje de secuencias de comandos, pero me impresionó que funcionó mejor que 7-zip SFX.
Una prueba que hice con 2 archivos :
Como # 4 no es lo que quieres, el claro ganador es NSIS, pero por razones prácticas, sugiero que ir con .zip es un tamaño comprimido de menos de 500 kbs y, si es más grande, usa una herramienta de creación de exe como 7-Zip SFX o NSIS (7-zip en particular, ya que es fácil de configurar).
fuente