151 votes

Avantages et inconvénients de bzip vs gzip ?

Je connais gzip depuis des années, j'ai récemment vu bzip utilisé au travail. Sont-ils fondamentalement équivalents, ou y a-t-il des avantages et des inconvénients significatifs à l'un d'eux par rapport à l'autre ?

193voto

Gzip et bzip2, ainsi que xz et lzop, sont fonctionnellement équivalents. (Il existait autrefois un bzip, mais il semble avoir complètement disparu de la surface du monde). Les autres formats de compression courants sont zip, rar et 7z ; ces trois formats permettent à la fois la compression et l'archivage (regroupement de plusieurs fichiers en un seul). Voici quelques évaluations typiques en termes de vitesse, de disponibilité et de taux de compression typique (notez que ces évaluations sont quelque peu subjectives, ne les prenez pas comme parole d'évangile) :

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

Comme vous pouvez le constater, il n'y a pas de vainqueur incontestable. Si vous voulez vous fier à des programmes qui sont probablement déjà installés, utilisez zip sous Windows (ou, si possible, des archives auto-extractibles, car Windows n'en est pas équipé) et gzip sous unix. Si vous voulez une compression maximale, utilisez 7z ou xz.

Les formats natifs non-Unix (zip, rar, 7z) ne préservent pas toutes les métadonnées Unix (propriété, permissions). Si vous en avez besoin, utilisez le tar compressé.

Rar a aussi l'inconvénient que, pour autant que je sache, il n'existe pas de logiciel open source qui crée des archives rar ou qui puisse décompresser toutes les archives rar. Les autres formats ont des implémentations libres et aucune revendication de brevet (sérieuse).

31voto

Lie Ryan Points 4241

D'après ce que je sais, gzip est globalement plus rapide, tandis que bzip produit globalement une meilleure compression (plus petite).

10voto

Lark Points 1640

Les algorithmes ont des compromis différents en termes de temps, de mémoire et d'espace. Gardez à l'esprit que ces algorithmes ont été écrits il y a un certain temps et que votre smartphone dispose de plusieurs fois plus de CPU que les ordinateurs de bureau de l'époque.

Vous devez choisir entre l'universalité (.gz) et un peu plus de compression (.bz2). Vous seul pouvez dire ce qui vous importe le plus.

L'un des avantages de .gz est qu'il peut comprimer un flux, une séquence où l'on ne peut pas regarder derrière soi. Cela en fait le compresseur officiel des flux http. J'ai eu besoin d'utiliser gzip une fois à cause de cela, mais il est peu probable que vous ayez besoin d'y penser.

4voto

Scott McClenning Points 3547

Voici une liste de sites qui testent les algorithmes de compression. Pour trouver uniquement bzip et gzip, il vous faudra creuser un peu, mais la plupart des sites répertorient les caractéristiques des algorithmes. De cette façon, vous pouvez comparer ce qui est important pour vous, la taille (taux de compression), le temps, la mémoire, le processeur.
http://www.maximumcompression.com/benchmarks/benchmarks.php

1voto

Hugh Perkins Points 551

Par http://tukaani.org/lzma/benchmarks.html gzip compresse deux fois plus vite que bzip2 et décompresse dix fois plus vite.

Par exemple, pour une utilisation avec la mise en cache s3, sur travis, etc., où vous voulez la vitesse de compression/décompression, et pas seulement des petites tailles, gzip pourrait être un bon compromis.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X