Prós e contras do bzip vs gzip?

Prós e contras do bzip vs gzip?

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 de um deles em relação ao outro?

Responder1

Gzip e bzip2, assim como xz e lzop, são funcionalmente equivalentes. (Era uma vez um bzip, mas parece ter desaparecido completamente da face do mundo.) Outros formatos de compressão comuns são zip, rar e 7z; esses três fazem compactaçã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 tome como verdade):

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

Como você pode ver, não há um vencedor claro. Se você quiser contar com programas que provavelmente já estão instalados, use zip no Windows (ou, se possível, arquivos auto-extraíveis, já que o Windows não vem com nenhum deles) e gzip no unix. Se você deseja compactação máxima, use 7z ou xz.

Os formatos nativos não Unix (zip, rar, 7z) não preservam todos os metadados Unix (propriedade, permissões). Se você precisar disso, use tar compactado.

O Rar também tem a desvantagem de que, até onde eu sei, não existe nenhum software de código aberto 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).

Responder2

Pelo que eu sei, o gzip é mais rápido em geral, enquanto o bzip em geral produz uma compactação melhor (menor).

Responder3

Os algoritmos têm diferentes compensações de tempo, memória e espaço. Tenha em mente que esses algoritmos foram escritos há algum tempo e seu smartphone tem muito mais CPU do que os desktops daquela época.

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

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

Responder4

Porhttp://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, no travis etc., onde você deseja velocidade de compactação/descompactação, não apenas tamanhos pequenos, o gzip pode ser uma boa compensação.

informação relacionada