Peu m'importe le temps qu'il faut pour compresser, tout ce que je veux réaliser, c'est deux choses:
- Le meilleur taux de compression possible
- Compatibilité avec les lecteurs standard, tels que Windows et WinZip
Ainsi, des suggestions telles que 7-zip ne seront pas très utiles, à moins que 7-zip soit également légèrement meilleur à la compression ZIP standard (par opposition à l'utilisation de son très bon format .7z).
Idéalement, je recherche:
- Une recommandation d'un logiciel
- Les paramètres particuliers de ce logiciel qui permettent la meilleure compression absolue
- Quelque chose de gratuit
N'oubliez pas que le temps de compression n'est pas un problème!
Une dernière chose - certains fichiers pourraient être mieux compressés avec des paramètres différents, comme la "taille du mot" ou la "taille du dictionnaire" - existe-t-il un outil qui peut analyser les fichiers et choisir le taux de compression le plus approprié, ou WinZip, 7-zip etc. déjà faire ça?
la source
-mm=
lieu de-m0=
.-m0=
est utilisé sur les.7z
archives. De plus, le manuel 7-Zip spécifie que-mx=9
pour les archives Zip est équivalent à-mfb=128 -mpass=10
. Ce que j'ai remarqué, c'est que-mfb=258 -mpass=15
c'est toujours beaucoup plus lent que-mx=9
et souvent ne économise pas beaucoup d'espace du tout (ou utilise parfois quelques octets de plus). De temps en temps, il économise un peu d'espace décent.Les meilleurs compresseurs de dégonflage (le format de compression utilisé par les ZIP standard) que je connais sont:
7zip mm=Deflate mx=9
Dégonflez la comparaison de taille de fichier compressé à partir de la compression de données à l'aide de Zopfli (archivé de l' original ):
Même sur des PNG aléatoires, Zopfli a pu être 0,5% meilleur que pngout . Zopfli fait le plus petit de tous.
la source
En supposant que vous êtes sous Windows: si vous souhaitez toujours utiliser le format ZIP, je vous recommande d'utiliser l'utilitaire de ligne de commande KZIP gratuit de Ken Silverman, que vous trouverez ici . Copiez-le dans le dossier contenant tous les fichiers que vous devez compresser, accédez à ce dossier à l'aide de CMD et exécutez la commande suivante:
Comme le suggère Roald, il est préférable d'inclure le répertoire où
kzip.exe
réside la variable PATH de votre système pour éviter qu'il ne soit inclus dans le fichier archive / Zip.Jusqu'à présent, j'ai trouvé que les fichiers ZIP créés avec KZIP étaient environ 10 à 20% plus petits que ceux créés par d'autres programmes de compression ZIP. Ils sont également entièrement ouverts par d'autres logiciels d'archivage (Winzip, WinRAR, 7-zip, etc.) et par Windows.
la source
Script très simple pour compresser tous les dossiers d'un dossier en fichiers zip individuels à l'aide du type de fichier .zip et d'une méthode de compression Deflate64.
la source
C'est plus une limite de la quantité de mémoire que vous devez mettre à la disposition du compresseur pendant qu'il fait son travail. En utilisant 7-Zip, j'emballerais une archive au format .Zip, Ultra compression, méthode de compression LZMA et la taille de dictionnaire par défaut de 64 Mo. Si vous avez la mémoire disponible, augmentez la taille du dictionnaire, mais notez que vous aurez besoin de près de 3 Go de mémoire disponible pour compresser avec un dictionnaire de 64 Mo. L'utilisation d'un dictionnaire plus grand devrait permettre à 7-zip de rechercher plus de correspondances et de fournir une meilleure compression si vous pouvez vous permettre la mémoire. LZMA bat à la fois gzip (deflate / deflate64, je pense) et bzip2 par un bon 5% en moyenne, jusqu'à 10-12% selon le contenu.
Je ne connais pas d'outil pour trouver la meilleure taille de mot / dictionnaire, bien que je pense que vous trouverez que la méthode de compression a une corrélation plus forte avec les données d'entrée, et la moyenne / valeurs par défaut devrait être bonne sinon.
la source
Si vous recherchez le meilleur compresseur pour les environnements Windows , je vous recommande d'essayer le format * .zip avec la méthode de compression LZMA 7-zip OU utilisez les archives SFX 7-Zip * .7z. Les archives SFX ont une surcharge d'environ 130 ko sur des fichiers compressés .7z et valent la peine d'être utilisées lorsque la différence de taille entre .7z et .zip est importante.
Un autre concurrent bon mais rare est le NSIS qui peut utiliser le mode de compression LZMA pour créer des exes hautement personnalisables. Je sais que NSIS n'est pas un compresseur mais un langage de script mais j'ai été impressionné qu'il fonctionnait mieux que SFX 7-zip.
Un test que j'ai fait avec 2 fichiers -
Comme le n ° 4 n'est pas ce que vous voulez, le gagnant est clairement NSIS, mais pour des raisons pratiques, je suggère d'utiliser le .zip si la taille compressée est inférieure à 500 kbs et s'il est plus grand, optez pour un outil de création d'exe tel que SFX 7-Zip ou NSIS (7-zip en particulier car il est facile à installer).
la source