Pros y contras de bzip vs gzip?

122

Conozco gzip desde hace años, recientemente vi que bzip se usaba en el trabajo. ¿Son básicamente equivalentes, o hay ventajas y desventajas significativas para uno de ellos sobre el otro?

ripper234
fuente
2
Si bien esta es una vieja pregunta con una respuesta válida y correcta, me gustaría señalarle a la gente este resultado de Google: tukaani.org/lzma/benchmarks.html, ya que lo desglosa aún más
Angry 84
¿No es bzip para compresión y gzip para archivo?
juniorRubyist
@juniorRubyist fuente?
ripper234
Acabo de escuchar eso. Olvidé dónde.
juniorRubyist
¿No se menciona el acceso aleatorio? stackoverflow.com/questions/14225751/…
neverMind9

Respuestas:

147

Gzip y bzip2 son funcionalmente equivalentes. (Había una vez un bzip, pero parece haberse desvanecido por completo de la faz del mundo). Otros formatos de compresión comunes son zip, rar y 7z; estos tres realizan compresión y archivado (empaquetan múltiples archivos en uno). Aquí hay algunas clasificaciones típicas en términos de velocidad, disponibilidad y relación de compresión típica (tenga en cuenta que estas clasificaciones son algo subjetivas, no las tome como un evangelio):

decompression speed (fast > slow): gzip, zip > 7z > rar > bzip2
compression speed (fast > slow): gzip, zip > bzip2 > 7z > rar
compression ratio (better > worse): 7z > rar, bzip2 > gzip > zip
availability (unix): gzip > bzip2 > zip > 7z > rar
availability (windows): zip > rar > 7z > gzip, bzip2

Como puede ver, no hay un ganador claro. Si desea confiar en programas que probablemente ya estén instalados, use zip en Windows (o, si es posible, archivos autoextraíbles, ya que Windows no incluye ninguno de estos) y gzip en unix. Si desea una compresión máxima, use 7z.

Rar también tiene el inconveniente de que, hasta donde yo sé, no existe un software gratuito que cree archivos rar o que pueda descomprimir todos los archivos rar. Los otros formatos tienen implementaciones gratuitas y sin reclamos de patentes (serios).

Gilles
fuente
2
Por lo que puedo decir, todas las versiones de Windows desde XP pueden abrir archivos zip de forma nativa utilizando el explorador de archivos
Lie Ryan
22
@ new123456 En OpenBSD, gzip está en el sistema base pero bzip2 debe instalarse desde un paquete. Muchos * enrutadores WRT incluyen gzip pero no bzip2.
Gilles
2
@Gilles Puedo confirmar que mi versión DD-WRT: 12/08/10 (revisión SVN: 14929) no tiene bzip2, pero tiene gzip.
Urda
11
@mlainz Investigación original. Esto no es Wikipedia.
Gilles
3
parece haberse desvanecido por completo : la antigüedad bzipdesapareció porque estaba usando la codificación algorítmica patentada. Debido a la patente, fue rediseñado para utilizar la codificación Huffman en su lugar. Durante este rediseño, se agregaron nuevas características y mejoras. Sin embargo, lo fundamental que lo convierte en un algoritmo de compresión único, la transformación Burrows – Wheeler, se mantuvo igual en ambas versiones.
bosque
24

Por lo que puedo decir, gzip es en general más rápido, mientras que bzip en general produce una mejor compresión (más pequeña).

Lie Ryan
fuente
Además, gzip parece ser un poco mejor soportado, especialmente en Windows ..
Dentrasi
55
@Dentrasi: winrar / 7zip admite ambos, ¿cuál es el problema?
whitequark
@whitequark: contar con un amplio soporte es principalmente importante para Unix ya que los usuarios pueden no tener acceso de root y deben trabajar con lo que ya está instalado. También se aplica a entornos de Windows donde el usuario no tiene acceso de administrador (escuelas / bibliotecas / etc.).
Mateo
44
@Matthew, no necesita derechos de administrador para utilizar una gran cantidad de software gratuito portado, incluido 7zip.
whitequark
1
@IQAndreas: algunos puntos de referencia: 1 , 2 , 3
Lie Ryan
5

Los algoritmos tienen diferentes compensaciones de tiempo, memoria y espacio. Tenga en cuenta que estos algoritmos se escribieron hace bastante tiempo y su teléfono inteligente tiene muchas más CPU que las computadoras de escritorio de esos días.

Su elección es entre universalidad (.gz) y un poco más de compresión (.bz2). Solo tú puedes decir cuál te interesa más.

Una ventaja de .gz es que puede comprimir una secuencia, una secuencia donde no puedes mirar hacia atrás. Esto lo convierte en el compresor oficial de transmisiones http. Necesitaba usar gzip una vez por eso, pero es poco probable que tengas que pensarlo.

Rich Homolka
fuente
4

Aquí hay una lista de sitios que prueban algoritmos de compresión, para encontrar solo bzip y gzip tendrá que cavar un poco, pero la mayoría de los sitios enumerarán las características de los algoritmos. De esta manera, puede comparar lo que es importante para usted, tamaño (relación de compresión), tiempo, memoria, CPU.
http://www.maximumcompression.com/benchmarks/benchmarks.php

Scott McClenning
fuente
1

En mi experiencia, bzip ha ofrecido consistentemente mejores relaciones de compresión que gzip. Además, con 7zip como administrador y algoritmo bzip, 7zip puede utilizar procesadores de múltiples núcleos.

Sathyajith Bhat
fuente
1

Según http://tukaani.org/lzma/benchmarks.html , gzip comprime el doble de rápido que bzip2 y descomprime diez veces más rápido.

Por ejemplo, para usar con el almacenamiento en caché s3, en travis, etc., donde desea velocidad de compresión / descompresión, no solo en tamaños pequeños, gzip podría ser una buena compensación.

Hugh Perkins
fuente