Par un certain hasard, je reporte à nouveau mon attention sur ZPAQ (un logiciel de compression que Pierre Z. m'avait signalé en 2014 :
https://sebsauvage.net/links/?5Ql3qg)
Je viens de refaire des essais avec zpaq, et c'est intéressant. C'est un logiciel de compression/archivage/backup qui à mes yeux peut avoir deux utilisations :
- Compresser fortement de gros ensembles de données (>2 Go) mieux que 7-Zip.
- Faire des backups incrémentaux (à la maniÚre de borg) en mode "append only".
Compresser des donnĂ©es, c'est repĂ©rer des rĂ©pĂ©titions. Tous les logiciels de compression utilisent une "fenĂȘtre" de compression Ă travers laquelle ils "regardent" les donnĂ©es Ă compresser. Si des rĂ©pĂ©titions sont vues dans cette fenĂȘtre, on gagne de la place. Pour obtenir une meilleure compression, en plus d'un bon algorithme, il faut donc une grande fenĂȘtre de compression (et donc consommer plus de mĂ©moire).
C'est pour cela que 7-zip est plus efficace que la majoritĂ© de ses concurrents (zip, rar, zstd...) car il a non seulement d'excellents algorithmes (dont lzma) mais il utilise une plus grande fenĂȘtre (et donc consomme plus de mĂ©moire Ă la compression, par exemple si vous utilisez le mode "ultra" (-mx=9)). Il ajoute Ă cela une "astuce" : il trie les fichiers par extensions et nom. Avec cette astuce, il a donc plus de chance d'avoir dans sa fenĂȘtre des fichiers avec du contenu similaire.
ZPAQ va plus loin: Il n'est pas limitĂ© Ă une fenĂȘtre, mais peut repĂ©rer des rĂ©pĂ©titions sur l'ensemble des donnĂ©es (dĂ©duplication). Dans mes essais, zpaq (avec l'option -m4) donne de meilleurs rĂ©sultats pour un ensemble de donnĂ©es de plusieurs Giga-octets. (Typiquement, il n'y a gĂ©nĂ©ralement pas de gain pour un ensemble de donnĂ©es infĂ©rieur Ă 2 Go).
ZPAQ est donc intéressant pour obtenir de meilleurs taux de compression que 7z pour toute donnée supérieure à 2 Go.
Mais ce n'est pas tout: Il possÚde un mode de fonctionnement trÚs similaire à Borg afin de faire des backups incrémentaux. Le premier archivage/backup est long (puisqu'il compresse toutes les données), et les backups suivants sont plus rapide car il ne sauvegarde que les données modifiées. Avec déduplication et compression, il est trÚs efficace.
On peut ainsi garder plusieurs versions des fichiers dans l'archive.
Tout comme Borg, ZPAQ permet de supprimer les derniers backups ajoutés. Par contre il ne sait pas supprimer d'anciens backups. L'archive ne peut donc que grossir. (C'est pour cette raison que pour un usage "backup", je continue à préférer borg: On peut purger les backups les plus anciens).
En utilisant un taux de compression moins fort (-m1,2 ou 3) il est trĂšs rapide pour les backups.
Si on résume :
- Pour compresser mieux que 7-Zip de gros ensembles de données, utilisez l'option -m4 de ZPAQ (Si vous avez du temps, l'option -m5 permet compresser encore mieux, mais avec un temps de compression *beaucoup* plus important).
- Si vous utilisez ZPAQ pour des backups, les options -m1 Ă -m3 conviennent trĂšs bien (compression rapide).
(Astuce : l'option -m du taux de compression doit se mettre en *fin* de ligne de commande.)
ZPAQ est un Logiciel Libre, bien documenté, solide et qui existe sous toutes les plateformes (y compris Windows). L'auteur semble porter grand soin à bien documenter son format et à le rendre pérenne.
Sous Linux, vous trouverez zpaq dans vos dépÎts.