Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Zstandard, le nouvel algo de compression de Facebook

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.

Screenshot 2016-09-07 10.19.08

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.

Screenshot 2016-09-07 10.35.41

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.

Screenshot 2016-09-07 10.19.19

Tous les détails sur le Zstandard sont ici.


Les articles du moment