Entre xz, gzip et bzip2, quel algorithme de compression donne la plus petite taille de fichier et la vitesse la plus rapide lors de la compression de fichiers tarball assez gros?
Entre xz, gzip et bzip2, quel algorithme de compression donne la plus petite taille de fichier et la vitesse la plus rapide lors de la compression de fichiers tarball assez gros?
Réponses:
Dans mon test de résistance, j'ai compressé 464 mégaoctets de données en utilisant les trois formats répertorié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 simple test de vitesse:
Compression:
1: Gzip
2: Xz
3: Bzip2 (mon ventilateur soufflait un peu pendant que cela se passait, 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 une compression complète, tandis que Gzip est très bon pour la vitesse. Bzip2 est décent pour son taux de compression, bien que xz devrait probablement être utilisé à sa place.
bzip2 -9 <file>
?
J'ai fait mon propre benchmark sur une image vmdk d'installation Linux de 1,1 Go:
rar =260MB comp= 85s decomp= 5s
7z(p7z)=269MB comp= 98s decomp=15s
tar.xz =288MB comp=400s decomp=30s
tar.bz2=382MB comp= 91s decomp=70s
tar.gz =421MB comp=181s decomp= 5s
tous les niveaux de compression sur max, CPU Intel I7 3740QM, mémoire 32 Go 1600, source et destination sur disque RAM
J'utilise généralement rar ou 7z pour l'archivage de fichiers normaux comme des documents.
et pour l'archivage des fichiers système, j'utilise .tar.gz ou .tar.xz par file-roller ou tar avec les options -z ou -J avec --preserve pour compresser nativement avec tar et conserver les autorisations (également alternativement .tar.7z ou .tar.rar peut être utilisé)
mise à jour: comme tar ne conserve que les autorisations normales et non les listes de contrôle d'accès de toute façon, également les autorisations de sauvegarde et de restauration simples et. préserver les autorisations et les listes de contrôle d'accès, a une somme de contrôle, un test d'intégrité et une capacité de cryptage, le seul inconvénient est que p7zip n'est pas disponible partout
Je pense que cet article fournit des résultats très intéressants.
http://pokecraft.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO
Les formats les plus efficaces en termes de taille sont xz et lzma, tous deux avec le paramètre -e transmis.
Les algorithmes les plus rapides sont de loin lzop et lz4 qui peuvent produire un niveau de compression pas très loin de gzip en 1,3 seconde alors que gzip a pris 8,1 seconde. Le taux de compression est de 2,8 pour lz4 et de 3,7 pour gzip.
Voici quelques résultats que j'ai extraits de cet article:
Gzip: 8,1 s à 3,7
lz4: 1,3 s à 2,8
xz: 32,2 s à 5,43
xz -e: 6m40 @ 7.063
Donc, si vous avez vraiment besoin de vitesse, lz4 est génial et offre toujours un taux de compression de 2,8.
Si vous avez désespérément besoin d'épargner l'octet, xz au niveau de compression maximum (9) fait le meilleur travail pour les fichiers texte comme la source du noyau. Cependant, il est très long et prend beaucoup de mémoire.
Un bon là où c'est nécessaire pour minimiser l'impact sur le temps ET l'espace est gzip. C'est celui que j'utiliserais pour effectuer des sauvegardes quotidiennes manuelles d'un environnement de production.