Prós e contras de bzip vs gzip?

122

Conheço o gzip há anos, recentemente vi o bzip sendo usado no trabalho. Eles são basicamente equivalentes ou existem prós e contras significativos para um deles em detrimento do outro?

ripper234
fonte
2
Embora essa seja uma pergunta antiga, com uma resposta válida e correta, eu gostaria de apontar as pessoas para este resultado do google: tukaani.org/lzma/benchmarks.html , pois ele a decompõe ainda mais.
Angry 84
Não é bzip para compactação e gzip para arquivamento?
juniorRubyist
@juniorRubyist fonte?
ripper234
Acabei de ouvir isso. Eu esqueci onde.
juniorRubyist
Nenhuma menção de acesso aleatório? stackoverflow.com/questions/14225751/…
neverMind9 02/02

Respostas:

147

Gzip e bzip2 são funcionalmente equivalentes. (Uma vez houve um bzip, mas parece ter desaparecido completamente do mundo.) Outros formatos de compactação comuns são zip, rar e 7z; esses três fazem compressão e arquivamento (empacotando vários arquivos em um). Aqui estão algumas classificações típicas em termos de velocidade, disponibilidade e taxa de compressão típica (observe que essas classificações são um tanto subjetivas, não as considere evangélicas):

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 você pode ver, não há um vencedor claro. Se você deseja confiar em programas que provavelmente já estão instalados, use o zip no Windows (ou, se possível, arquivos de extração automática, pois o Windows não é fornecido com nenhum deles) e gzip no unix. Se você deseja uma compressão máxima, use 7z.

Rar também tem desvantagens de que, até onde eu sei, não existe software livre que crie arquivos rar ou que possa descompactar todos os arquivos rar. Os outros formatos têm implementações gratuitas e nenhuma reivindicação de patente (séria).

Gilles
fonte
2
até onde eu sei, todas as versões do Windows desde o XP podem abrir arquivos zip nativamente usando o arquivo explorern
Lie Ryan
22
@ new123456 No OpenBSD, o gzip está no sistema base, mas o bzip2 deve ser instalado a partir de um pacote. Muitos roteadores WRT incluem gzip, mas não bzip2.
Gilles
2
@Gilles Posso confirmar que meu DD-WRT Release: 08/12/10 (revisão SVN: 14929) não possui bzip2, mas possui gzip.
Urda
11
@mlainz Pesquisa original. Isto não é Wikipedia.
Gilles
3
parece ter desaparecido completamente - o velho simples bzipdesapareceu porque estava usando a codificação algorítmica patenteada. Por causa da patente, ela foi redesenhada para usar a codificação Huffman. Durante esse re-design, novos recursos e melhorias foram adicionados. A coisa fundamental que o torna um algoritmo de compactação exclusivo, porém, a transformação Burrows – Wheeler, permaneceu a mesma nas duas versões.
forest
24

Até onde eu sei, o gzip é geralmente mais rápido, enquanto o bzip produz uma melhor compressão (menor).

Lie Ryan
fonte
Além disso, gzip parece ser ligeiramente melhor suportado, especialmente no Windows ..
Dentrasi
5
@Dentrasi: winrar / 7zip suportam ambos, qual é o problema?
whitequark
@ whitequark: ter amplo suporte é muito importante para o unix, pois os usuários podem não ter acesso root e devem trabalhar com o que já está instalado. Também se aplica a ambientes Windows em que o usuário não tem acesso de administrador (escolas / bibliotecas / etc).
Matthew
4
@ Matthew, você não precisa de direitos de administrador para usar muito software livre portado, incluindo o 7zip.
whitequark
1
@IQAndreas: alguns benchmarks: 1 , 2 , 3
Lie Ryan
5

Os algoritmos têm diferentes trocas de tempo, memória e espaço. Lembre-se de que esses algoritmos foram escritos há um bom tempo e seu smartphone tem muitas vezes mais CPU do que os desktops da época.

Sua escolha é entre universalidade (.gz) e um pouco mais de compactação (.bz2). Só você pode dizer com quem se importa mais.

Uma vantagem do .gz é que ele pode comprimir um fluxo, uma sequência em que você não pode olhar para trás. Isso o torna o compressor oficial de fluxos http. Eu precisava usar o gzip uma vez por causa disso, mas é improvável que você precise pensar sobre isso.

Rich Homolka
fonte
4

Aqui está uma lista de sites que testam algoritmos de compactação. Para encontrar apenas bzip e gzip, você precisará fazer algumas escavações, mas a maioria dos sites listará características dos algoritmos. Dessa forma, você pode comparar o que é importante para você, tamanho (taxa de compressão), tempo, memória, CPU.
http://www.maximumcompression.com/benchmarks/benchmarks.php

Scott McClenning
fonte
1

Na minha experiência, o bzip ofereceu taxas de compressão consistentemente melhores que o gzip. Além disso, com o 7zip como gerenciador e algoritmo bzip, o 7zip pode usar processadores com vários núcleos.

Sathyajith Bhat
fonte
1

Por http://tukaani.org/lzma/benchmarks.html , o gzip compacta duas vezes mais rápido que o bzip2 e descompacta dez vezes mais rápido.

Por exemplo, para uso com cache s3, travis etc., onde você deseja velocidade de compactação / descompactação, não apenas tamanhos pequenos, o gzip pode ser uma boa opção.

Hugh Perkins
fonte