Comparativa de algoritmos de compresión

@kahun

Son muchos los backups que hacemos a diario y hasta ahora veníamos usando el clásico tar.gz por costumbre. Viendo que ha pasado mucho tiempo desde que salió GZIP me he decidido a hacer algunas pruebas para ver el rendimiento de los nuevos algoritmos como LZMA2 y a la vez jugar con los distintos niveles de compresión para ver los resultados.

1 Entorno de pruebas

  • Sistema operativo: Debian Squeeze 64 bits
  • Directorio sin comprimir: 15G

2 Algoritmos

2.1 LZMA2

Nivel: 0 Tiempo: 13m44.023s Tamaño: 3.0G

export XZ\_OPT=-0
time tar -Jcf database.tar.xz database

Nivel: 1 Tiempo: 16m46.865s Tamaño: 2.8G

export XZ\_OPT=-1
time tar -Jcf database.tar.xz database

Nivel: 2 Tiempo: 24m4.444s Tamaño: 2.7G

export XZ\_OPT=-2
time tar -Jcf database.tar.xz database

2.2 BZIP2

Nivel: 1 Tiempo: 26m11.492s Tamaño: 3.6G

export BZIP2=-1
time tar -jcf database.tar.bz2 database

2.3 GZIP

Nivel: 1 Tiempo: 4m28.081s Tamaño: 4.6G

export GZIP=-1
time tar -zcf database.tar.gz database

Nivel: 4 Tiempo: 6m24.345s Tamaño: 4.3G

export GZIP=-4
time tar -zcf database.tar.gz database

Nivel: 6 Tiempo: 12m33.016s Tamaño: 4.1G

export GZIP=-6
time tar -zcf database.tar.gz database

Nivel: 9 Tiempo: 54m21.626s Tamaño: 4.1G

export GZIP=-9
time tar -zcf database.tar.gz database

3 Conclusiones

LZMA2 es la mejor opción si se busca mejorar el ratio de compresión, pero si se quiere velocidad el más rápido es GZIP. Como siempre todo depende de nuestras necesidades pero LZMA2 es una gran mejora respecto a los ya antiguos GZIP y BZIP2 y cuando salga la versión multihilo lo será aún más.