Entre XZ, GZIP et BZIP2, quel algorithme de compression donne la taille de fichier la plus petite et la vitesse la plus rapide lors de la compression des tagelles assez grandes?
Dans mon test de stress, j'ai compressé 464 mégaoctets de données utilisant les trois formats énumérés. GZIP a renvoyé un fichier de 364 Mo. BZIP2 a renvoyé un fichier de 315 Mo. XZ a renvoyé un fichier de 254 Mo. J'ai aussi fait un test de vitesse simple:
Compression:
1: gzip
2: XZ
3: BZIP2 (mon fan soufflait un peu si cela allait, indiquant que mon athlon II était assez tendu)
Décompression:
1: XZ
2: gzip
3: bzip2
Veuillez noter que tous ces tests ont été effectués avec la dernière version de 7-ZIP.
XZ est le meilleur format pour la compression bien arrondie, tandis que Gzip est très bon pour la vitesse. BZIP2 est décent pour son ratio de compression, bien que XZ soit probablement utilisé à sa place.
Je pense que cet article fournit des résultats très intéressants.
Les formats les plus efficaces de taille sont XZ et LZMA, tous deux avec le paramètre -E passé.
L'algorithme le plus rapide est de loin lzop et lz4 qui peut produire un niveau de compression non très loin de GZIP en 1,3 seconde pendant que GZIP a pris 8,1 seconde. Le taux de compression est de 2,8 pour LZ4 et 3,7 pour GZIP.
Voici quelques résultats que j'ai extraits de cet article:
GZIP: 8.1S @ 3.7
lz4: 1.3s @ 2.8
xZ: 32.2S @ 5.43
xZ -E: 6m40 @ 7.063
Donc, si vous avez vraiment besoin de vitesse de besoin, LZ4 est génial et fournit toujours un ratio de compression 2.8.
Si vous avez désespérément besoin d'épargner l'octet, XZ au niveau de compression maximale (9) fait le meilleur travail pour les fichiers texte tels que la source du noyau. Cependant, il est très long et prend beaucoup de mémoire.
Un bon endroit où il faut minimiser l'impact sur le temps et l'espace est GZIP. C'est celui que j'utiliserais pour faire des sauvegardes quotidiennes manuelles d'un environnement de production.