¡Las respuestas anteriores son incorrectas en un orden de magnitud!
El mejor algoritmo de compresión con el que tengo experiencia personal es paq8o10t (consulte la página zpaq y el PDF ).
Sugerencia: el comando para comprimir archivos_o_carpetas sería como:
paq8o10t -5 archive files_or_folders
Fuente: utilidad de copia de seguridad de diario incremental y archivador
Puede encontrar un espejo del código fuente en GitHub .
Un algoritmo de compresión un poco mejor, y ganador del Premio Hutter , es decomp8 (ver enlace en la página del premio). Sin embargo, no hay ningún programa de compresor que pueda usar realmente.
Para archivos realmente grandes, lrzip puede lograr relaciones de compresión que son simplemente cómicas .
Un ejemplo de README.benchmarks:
Tomemos seis árboles de kernel con una versión aparte como tarball, linux-2.6.31 a linux-2.6.36. Estos mostrarán mucha información redundante, pero con cientos de megabytes de diferencia, que lrzip será muy bueno para comprimir. Para simplificar, solo se comparará 7z, ya que es el mejor compresor de uso general en este momento:
Estos son puntos de referencia realizados en un Intel Core2 de doble núcleo de 2.53Ghz con 4GB de ram usando lrzip v0.5.1. Tenga en cuenta que se estaba ejecutando con un espacio de usuario de 32 bits, por lo que solo era posible el direccionamiento de 2 GB. Sin embargo, el punto de referencia se ejecutó con la opción -U que permite que todo el archivo se trate como una gran ventana de compresión.
Tarball de 6 núcleos consecutivos.
Compression Size Percentage Compress Decompress
None 2373713920 100 [n/a] [n/a]
7z 344088002 14.5 17m26s 1m22s
lrzip 104874109 4.4 11m37s 56s
lrzip -l 223130711 9.4 05m21s 1m01s
lrzip -U 73356070 3.1 08m53s 43s
lrzip -Ul 158851141 6.7 04m31s 35s
lrzip -Uz 62614573 2.6 24m42s 25m30s