Tiens je ne sais pas si vous avez vu, mais Facebook vient de sortir un nouveau algo de compression.
Nommé pompeusement Zstandard ou Zstd (Z comme Zuck ? loool), il serait encore plus performant que Zlib, la référence du moment.
Il ne compresse pas forcement plus que certain autres algo, mais il est plus rapide que les autres et est conçu pour des scénarios temps réel. D’ailleurs, il est utilisé en prod sur Facebook depuis quelque temps.
Concernant les petits fichiers, l’algo adopte une méthode un peu différente des autres. Quand on compresse un fichier, l’algorithme apprend des données « passées » pour compresser les données « futures ». Mais dans le cas d’un petit fichier, il n’y a pas vraiment de données « passées » sur lesquelles s’appuyer, c’est pourquoi les taux de compression des petits fichiers ne sont pas très intéressants.
Pour contourner cela, Zstd utilise un mode « training » qui grâce à quelques exemples de fichiers, peut générer un dictionnaire de référence qui sera alors chargé avant la compression et la décompression et utilisé comme « données du passé » pour pouvoir compresser des petits fichiers et avoir de bons taux de compression.
Pas con
Une lib est dispo sous licence BSD pour utiliser cet algo et si vous voulez l’utiliser en vrai sur votre petit PC, les mecs ont même pondu une version de 7zip qui supporte cet algo Zstd pour que vous puissiez mener vos petits tests.