Dois-je utiliser la compression xz ou lzma?

Réponses:

12

Cette référence fournit de bonnes informations sur ce problème. Il semble que LZMA ait des taux de compression et des performances légèrement meilleurs que XZ, mais XZ est généralement préféré pour des `` raisons pratiques '' (je ne suis pas sûr de ce que c'est).

XZ est une implémentation de l'algorithme lzma2 et est meilleur pour compresser les données «non compressibles»:

lzma2 est la méthode de compression utilisée par le compresseur 7-Zip LZMA2. LZMA2 est une version modifiée de LZMA qui offre un meilleur taux de compression pour les données non compressibles (les données aléatoires augmentent d'environ 0,005%, contre 1,35% avec le LZMA d'origine), et peut éventuellement compresser plusieurs parties de gros fichiers en parallèle, augmentant considérablement la vitesse de compression mais avec une possible réduction du taux de compression (voir LZMANumBlockThreads). Comme LZMA, il peut consommer beaucoup de mémoire; voir le tableau ci-dessus. Si aucun niveau de compression n'est spécifié, sa valeur par défaut est max.

( http://www.jrsoftware.org/ishelp/index.php?topic=setup_compression )

Vous devriez être OK en utilisant l'un ou l'autre.

dv3500ea
la source
Par curiosité, avez-vous décidé lequel utiliser?
dv3500ea
1
En fait, après un peu de test, il semble que xz sera la voie à suivre. Il enregistre également un peu de compression (parfois 10 Mo) sur les fichiers binaires via lzma.
NightwishFan
8
Ce n'était pas une réponse appropriée, en ce qui concerne "OK en utilisant l'un ou l'autre". Même au moment où il a posté cette question, les fichiers .lzma étaient connus pour être remplacés complètement par .xz dans un avenir proche. L'auteur de LZMA-Utils a déclaré publiquement qu'ils étaient obsolètes et utilisent des xz-utils à partir de 5h00. La dernière version de LZMA-Utils était le 2008-07-30, même à l'époque. Donc, en termes de compression, les améliorations pourraient ne pas être un énorme facteur déterminant. (ironiquement au cas où ce serait le cas) Mais des raisons "politiques" auraient dû être une raison importante pour utiliser XZ-Utils, et éviter de créer de nouvelles archives .lzma.
JM Becker
1
@TechZilla Avez-vous envisagé de publier votre point de vue à ce sujet comme réponse alternative?
ændrük
1
Les raisons pratiques de LZMA2 sont le support multithreading. Les performances de filetage unique et le taux de compression sont légèrement inférieurs, mais sur un système à plusieurs cœurs, attendez-vous à ce que le LZMA2 soit beaucoup plus rapide lors du décodage.
Jonathan Baldwin
42

Je ne suis pas d'accord avec la conclusion de @ dv3500ea, "OK en utilisant les deux", car c'était inapproprié. Même à la date / heure affichée, les .lzmafichiers étaient connus pour être remplacés complètement par .xz. L'auteur des deux Utils a déclaré publiquement que les utilisateurs devraient passer à XZ-Utils ≥ 5,00. La dernière version de LZMA-Utils était le 2008-07-30 et a été abandonnée.

LZMA Utils est un logiciel de compression de données hérité avec un taux de compression élevé. Les utilitaires LZMA ne sont plus développés, bien que des bogues critiques puissent être corrigés tant qu'ils ne nécessitent pas de modifications énormes du code.

Les utilisateurs de LZMA Utils doivent passer à XZ Utils. XZ Utils prend en charge le .lzmaformat hérité utilisé par LZMA Utils et peut également émuler les outils de ligne de commande de LZMA Utils. Cela devrait faciliter la transition de LZMA Utils à XZ Utils.

Le facteur déterminant n'est peut-être pas la compression, bien que ce soit ironique pour cet exemple. Les "raisons pratiques" sont une raison évidente et significative d'utiliser XZ-Utils. De plus, le .xzformat vous permet de spécifier des algorithmes de compression et des filtres, afin que les .xzfichiers puissent utiliser LZMA ou LZMA2. Évitez de créer de nouveaux .lzmafichiers, ils sont considérés comme un format hérité.

En ce qui concerne même le maintien de LZMA-Utils: ne le faites pas. XZ-Utils prend en charge les .lzmafichiers hérités . Il a également des wrappers pour les scripts utilisant toujours LZMA-Utils. Si toutes ces raisons étaient encore insuffisantes, Ubuntu a supprimé les lzma-utils hérités de son référentiel.

JM Becker
la source
1
"L'auteur des deux Utils a déclaré publiquement que les utilisateurs devraient passer à XZ-Utils ≥ 5,00." Citation requise. :-)
Faheem Mitha
@FaheemMitha: Comme il s'agit d'un article, et non d'une référence pédagogique ou d'une recherche originale, la citation ne serait que la page du projet. J'ai supposé que c'était de l'auteur LZMA-Utils, et il a écrit les DEUX ensembles d'utilitaires avec l'intention que xz-utils remplace l'héritage LZMA-Utils, c'était évident. ... Mais pour tous ceux qui veulent obtenir plus de détails, tukaani.org/lzma .
JM Becker
3

Certainement, vous ne devriez pas utiliser lzma comme d'autres le disent.

Antonio Diaz Diaz, auteur du format lzip, dit que le format Xz est inadéquat pour l'archivage à long terme . Si vous souhaitez sauvegarder vos fichiers importants, envisagez d'autres formats de fichiers tels que bzip2, qui a un outil de récupération de corruption.

critiquer
la source
xz est considéré comme dangereux par certains. Cela ne s'applique cependant pas à lzma.
2018
0

xz est préféré car il a le taux de compression le plus élevé. Cependant, il compresse plus lentement, mais il compense avec sa compression.

Graphiques éloignés
la source