55 votes

Comment la "taille du dictionnaire" affecte-t-elle la compression ?

Je sais que la taille plus élevée peut conduire à un meilleur taux de compression et vice versa. Mais y a-t-il un moyen pour moi de décider mieux ?.. car il y a tellement de choix 7zip


Jusqu'à présent, j'ai remarqué que la taille du dictionnaire de fichier donne une compression optimale. taille du fichier
Ici, le fichier de 8 Mo test.avi a le même taux de compression pour toutes les tailles de dictionnaire supérieures à 8 Mo. Ensuite, il commence à baisser.

41voto

cybernard Points 12403

Les éléments répétables sont stockés dans un dictionnaire et un code est assigné en tant que substitut.

IL S'AGIT D'UNE SUR-SIMPLIFICATION

aaaaaaaaaaaaaaaaaaaaaaaa  0001
bbbbbbbbbbbbbbbbbbbbbbbb  0002
alsdjl;asjdfkl;asdfjkljj  0003

au lieu de toute la ligne, il met simplement le code à sa place. Plus le dictionnaire est grand, plus il peut gérer de codes. Normalement, lorsqu'un dictionnaire devient plein, il en commence un nouveau à la volée. Lorsqu'il en commence un nouveau, il est vide et de nouveaux codes sont assignés aux motifs détectés.

Généralement, plus il est grand, mieux c'est jusqu'à un certain point. Tout le dictionnaire est conservé en mémoire, donc vous avez besoin de plus de RAM que la taille du dictionnaire.

La taille du dictionnaire dépend de la compressibilité de vos données, du nombre de fichiers, de leur taille et de la taille totale.

Généralement, 32 Mo sont largement suffisants, mais si vous compressez de nombreux fichiers de plusieurs gigaoctets, alors un nombre beaucoup plus élevé peut être utilisé. Les dictionnaires plus grands rendent souvent le processus plus lent, mais le résultat est un fichier plus petit.

4voto

Corky Points 339

La compression dépend de ce que vous compressez ainsi que de la quantité de RAM dont vous disposez. Les fichiers pré-compressés tels que les images et les vidéos sont plus difficiles à compresser que les fichiers tels que le texte, ou les répertoires contenant beaucoup de fichiers très similaires ou identiques.

J'ai six répertoires de sauvegarde d'un site Web php personnel (xampp) avec quelques différences principalement mineures entre eux. Chaque répertoire principal fait environ 600Mo à 1Go, plus ou moins. Ce qui fait un total de 6Go pour tous les répertoires ensemble, tous contenant des fichiers similaires.

Taille du dictionnaire par rapport à la taille compressée pour l'ensemble des répertoires dans un seul package.

4M de dictionnaire = 1 687 995 Ko
24M de dictionnaire = 1 685 337 Ko
128M de dictionnaire = 1 685 336 Ko
512M de dictionnaire = 1 685 336 Ko (pas de changement par rapport à 128)
1024M de dictionnaire = 315 224 Ko

Comme chaque répertoire est à peu près semblable et est plus grand que 512Mo, le dictionnaire de 1024M semble être le meilleur dans cette situation.

La compression de 6Go de dossiers de musique différents en utilisant le même dictionnaire de 1024M a donné un ratio de compression de seulement 96%. Soit 5,76 Go au lieu de 6Go. La meilleure chose à faire pour la compression vidéo est la compression avec perte où vous utilisez un programme pour convertir la vidéo. Essayez de réduire le débit à un niveau que vous ne remarquez pas, ou dont vous pouvez accepter la qualité de la vidéo. Handbrake est un bon outil vidéo, mais il en existe beaucoup d'autres. VLC est également capable de compresser des vidéos en utilisant l'option de conversion. Les deux programmes sont gratuits à utiliser.

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