Pro e contro di bzip vs gzip?


122

Conosco gzip da anni, recentemente ho visto bzip utilizzato al lavoro. Sono sostanzialmente equivalenti o ci sono vantaggi e svantaggi significativi per uno di loro rispetto all'altro?


2
Mentre questa è una vecchia domanda con una risposta valida e corretta, vorrei indirizzare le persone a questo risultato di google: tukaani.org/lzma/benchmarks.html in quanto lo scompone ulteriormente
Angry 84

Bzip non è in compressione e gzip in archivio?
juniorRubyist,

@juniorRubyist source?
ripper234,

L'ho appena sentito. Ho dimenticato dove.
juniorRubyist,

Nessuna menzione di accesso casuale? stackoverflow.com/questions/14225751/...
neverMind9

Risposte:


147

Gzip e bzip2 sono funzionalmente equivalenti. (C'era una volta un bzip, ma sembra essere completamente svanito dalla faccia del mondo.) Altri formati di compressione comuni sono zip, rar e 7z; questi tre eseguono sia la compressione che l'archiviazione (comprimendo più file in uno). Ecco alcuni voti tipici in termini di velocità, disponibilità e tipico rapporto di compressione (si noti che questi voti sono in qualche modo soggettivi, non considerarli come vangelo):

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

Come puoi vedere, non c'è un vincitore chiaro. Se vuoi fare affidamento su programmi che probabilmente saranno già installati, usa zip su Windows (o, se possibile, archivi autoestraenti, poiché Windows non viene fornito con nessuno di questi) e gzip su unix. Se si desidera la massima compressione, utilizzare 7z.

Rar ha anche il rovescio della medaglia che, per quanto ne so, non esiste un software gratuito che crea archivi rar o che può decomprimere tutti gli archivi rar. Gli altri formati hanno implementazioni gratuite e nessuna (seria) rivendicazione di brevetti.


2
per quanto ne so, tutte le versioni di Windows a partire da XP, possono aprire il file zip in modo nativo usando il file explorern
Lie Ryan,

22
@ new123456 Su OpenBSD, gzip si trova nel sistema di base ma bzip2 deve essere installato da un pacchetto. Molti router * WRT includono gzip ma non bzip2.
Gilles,

2
@Gilles Posso confermare che la mia versione DD-WRT: 08/12/10 (revisione SVN: 14929) non ha bzip2, ma ha gzip.
Urda,

11
@mlainz Ricerca originale. Questa non è Wikipedia.
Gilles,

3
sembra essere completamente svanito - Semplicemente bzipscomparso perché utilizzava la codifica algoritmica brevettata. A causa del brevetto, è stato riprogettato per utilizzare invece la codifica Huffman. Durante questa riprogettazione, sono state aggiunte nuove funzionalità e miglioramenti. La cosa fondamentale che lo rende un algoritmo di compressione unico, la trasformazione di Burrows-Wheeler, è rimasta la stessa in entrambe le versioni.
foresta

24

Per quanto ne so, gzip è complessivamente più veloce, mentre bzip produce una compressione migliore (più piccola).


Inoltre, gzip sembra essere leggermente meglio supportato, specialmente su Windows ..
Dentrasi,

5
@Dentrasi: winrar / 7zip supporta entrambi, qual è il problema?
Whitequark,

@whitequark: essere ampiamente supportati è per lo più importante per unix poiché gli utenti potrebbero non avere accesso al root e devono lavorare con ciò che è già installato. Si applica anche agli ambienti Windows in cui l'utente non ha accesso come amministratore (scuole / librerie / ecc.).
Matteo,

4
@Matthew, non hai bisogno dei diritti di amministratore per usare un sacco di software gratuito con port, incluso 7zip.
whitequark,

1
@IQAndreas: alcuni benchmark: 1 , 2 , 3
Lie Ryan

5

Gli algoritmi hanno tempi, memoria e compromessi spaziali diversi. Tieni presente che questi algoritmi sono stati scritti un po 'di tempo fa e il tuo smartphone ha molte volte più CPU dei desktop di quei giorni.

La tua scelta è tra l'universalità (.gz) e un po 'più di compressione (.bz2). Solo tu puoi dire che ti interessa di più.

Un vantaggio di .gz è che può comprimere un flusso, una sequenza in cui non puoi guardare dietro. Questo lo rende il compressore ufficiale dei flussi http. Ho dovuto usare gzip una volta per questo, ma è improbabile che tu debba pensarci.



1

Nella mia esperienza bzip ha offerto rapporti di compressione costantemente migliori rispetto a gzip. Inoltre con 7zip come gestore e algoritmo bzip, 7zip può utilizzare processori multi core.


1

Per http://tukaani.org/lzma/benchmarks.html , gzip si comprime due volte più velocemente di bzip2 e si decomprime dieci volte più velocemente.

Ad esempio per l'uso con la memorizzazione nella cache s3, su travis ecc., Dove si desidera velocità di compressione / decompressione, non solo di piccole dimensioni, gzip potrebbe essere un buon compromesso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.