Pour la distribution des archives sur Internet, les éléments suivants constituent généralement une priorité:
- Taux de compression (c.-à-d. La taille réduite du compresseur pour la production des données);
- Temps de décompression (besoins en CPU);
- Mémoire de décompression requise; et
- Compatibilité (étendue du programme de décompression)
La mémoire de compression et les besoins en ressources processeur ne sont pas très importants, car vous pouvez utiliser une grande machine rapide pour cela, et vous ne devez le faire qu'une seule fois.
Par rapport à bzip2, xz a un meilleur taux de compression et un temps de décompression plus court (meilleur). Cependant, avec les réglages de compression généralement utilisés, il nécessite plus de mémoire pour décompresser [1] et est un peu moins répandu. Gzip utilise moins de mémoire que ce soit.
Ainsi, les archives aux formats gzip et xz sont affichées, ce qui vous permet de choisir:
- Besoin de décompresser sur une machine avec une mémoire très limitée (<32 Mo): gzip. Donné, pas très probable quand on parle de sources du noyau.
- Besoin de décompresser un minimum d'outils disponibles: gzip
- Voulez-vous économiser du temps de téléchargement et / ou de bande passante: xz
Il n'y a pas vraiment de combinaison réaliste de facteurs qui vous amènerait à choisir bzip2. Donc, son élimination progressive.
J'ai examiné les comparaisons de compression dans un article de blog . Je n'ai pas essayé de reproduire les résultats, et je suppose qu'une partie d'entre eux a changé (principalement, je pense, xz
s'est améliorée, car c'est la plus récente.)
(Il existe des scénarios spécifiques dans lesquels une bonne implémentation de bzip2 peut être préférable à xz: bzip2 peut compresser un fichier avec beaucoup de zéros et de séquences d'ADN génomique mieux que xz. Les versions les plus récentes de xz ont maintenant un mode de blocage (optionnel) qui permet la récupération de données après le point de corruption et la compression parallèle et la décompression [en théorie]. Auparavant, seul bzip2 les offrait. [2] Cependant, aucun de ceux-ci n'est pertinent pour la distribution du noyau)
1: En taille d'archive, xz -3
est autour bzip -9
. Ensuite, xz utilise moins de mémoire pour décompresser. Mais xz -9
(comme, par exemple, utilisé pour les archives du noyau Linux) utilise beaucoup plus que bzip -9
. (Et même xz -0
besoin de plus que gzip -9
).
2: Modification à l'échelle du système F21: lbzip2 comme implémentation par défaut de bzip2