Entre xz, gzip y bzip2, ¿qué algoritmo de compresión proporciona el tamaño de archivo más pequeño y la velocidad más rápida al comprimir tarballs bastante grandes?
Entre xz, gzip y bzip2, ¿qué algoritmo de compresión proporciona el tamaño de archivo más pequeño y la velocidad más rápida al comprimir tarballs bastante grandes?
Respuestas:
En mi prueba de esfuerzo, comprimí 464 megabytes de datos usando los tres formatos enumerados. Gzip devolvió un archivo de 364 MB. Bzip2 devolvió un archivo de 315 MB. Xz devolvió un archivo de 254 MB. También hice una prueba de velocidad simple:
Compresión:
1: Gzip
2: Xz
3: Bzip2 (mi ventilador estaba funcionando bastante mientras esto funcionaba, lo que indica que mi Athlon II estaba bastante tenso)
Descompresión:
1: Xz
2: Gzip
3: Bzip2
Tenga en cuenta que todas estas pruebas se realizaron con la última versión de 7-Zip.
Xz es el mejor formato para una compresión completa, mientras que Gzip es muy bueno para la velocidad. Bzip2 es decente por su relación de compresión, aunque probablemente debería usarse xz en su lugar.
bzip2 -9 <file>
?
Hice mi propio punto de referencia en la imagen vmdk de instalación de Linux de 1.1GB:
rar =260MB comp= 85s decomp= 5s
7z(p7z)=269MB comp= 98s decomp=15s
tar.xz =288MB comp=400s decomp=30s
tar.bz2=382MB comp= 91s decomp=70s
tar.gz =421MB comp=181s decomp= 5s
todos los niveles de compresión en el máximo, CPU Intel I7 3740QM, memoria 32GB 1600, origen y destino en disco RAM
Generalmente uso rar o 7z para archivar archivos normales como documentos.
y para archivar archivos del sistema utilizo .tar.gz o .tar.xz mediante file-roller o tar con las opciones -z o -J junto con --preserve para comprimir de forma nativa con tar y preservar los permisos (también alternativamente .tar.7z o .tar.rar puede ser usado)
actualización: como tar solo conserva los permisos normales y no las ACL de todos modos, también se puede usar .7z plus, además de los permisos de copia de seguridad y restauración y las ACL manualmente a través de getfacl y sefacl, que parece ser la mejor opción para el archivado de archivos o la copia de seguridad de archivos del sistema porque estará lleno preservar permisos y ACL, tiene suma de comprobación, prueba de integridad y capacidad de cifrado, el único inconveniente es que p7zip no está disponible en todas partes
Creo que este artículo ofrece resultados muy interesantes.
http://pokecraft.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO
Los formatos más eficientes en tamaño son xz y lzma, ambos con el parámetro -e pasado.
El algoritmo más rápido es, con diferencia, lzop y lz4, que pueden producir un nivel de compresión no muy alejado de gzip en 1.3 segundos, mientras que gzip tomó 8.1 segundos. La relación de compresión es 2.8 para lz4 y 3.7 para gzip.
Aquí hay algunos resultados que extraje de este artículo:
Gzip: 8.1s @ 3.7
lz4: 1.3s @ 2.8
xz: 32.2s @ 5.43
xz -e: 6m40 @ 7.063
Entonces, si realmente necesita velocidad desesperadamente, lz4 es increíble y aún proporciona una relación de compresión 2.8.
Si necesita desesperadamente ahorrar el byte, xz en el nivel de compresión máximo (9) hace el mejor trabajo para archivos de texto como la fuente del núcleo. Sin embargo, es muy largo y requiere mucha memoria.
Uno bueno donde sea necesario para minimizar el impacto en el tiempo Y el espacio es gzip. Este es el que usaría para hacer copias de seguridad diarias manuales de un entorno de producción.