Zstandard, le nouvel algo de compression de Facebook

Originally published at: http://korben.info/zstandard-nouvel-algo-de-compression-de-facebook.html
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…

Facebook plus performant que …

“plus rapide que les autres”, d’après le tableau, c’est pas vraiment le cas
"un dictionnaire de référence", ça veut dire quoi ? qu’il faut attendre un peut avant que le taux de compression soit vraiment efficace ?

Certe ce n’est pas ‘con’, mais lire un fichier supplémentaire (que l’on doit télécharger ou créer) n’est pas vraiment une idée adéquat, surtout si le fameux dico pèse plusieurs Ko ou Mo (contre-performance)

C’est bien gentil de vouloir ré-inventer la roue, encore faut t-il éviter de se mettre des bâtons dedans.

J’ai l’impression que facebook utilise l’intérêt de la compression solide:
Avec beaucoup de données tu as un dictionnaire plus efficace,
Sans les inconvénients:
dans une archive tu ne peux pas décompresser un unique fichier mais tout le set.

Le mode apprentissage construit le dictionnaire optimal pour tout le set, le mode compression compresserait les fichiers 1 par 1 en utilisant ce dictionnaire commun (sans l’inclure dans l’archive).
C’est pas con :

  • avec des fichiers qui se ressemblent il n’y’a qu’un dictionnaire commun, la compression est plus rapide car il n’y’a pas à recalculer le dictionnaire.
  • avec beaucoup de fichiers le taux de compression doit être un peu meilleur (le gros dictionnaire commun n’est pas forcément optimale pour chaque fichier, mais il n’est pas dupliqué dans chaque archive)
  • contrairement à une archive solide, on peut décompresser les fichiers un à un.
  • la décompression est probablement plus rapide aussi : il suffit de conserver en mémoire le dictionnaire, et il n’y’a pas besoin de le reparser / charger à chaque fichier.

Si c’est ça, c’est un algo orienté stockage de données similaires, mais pas adapté pour compressé une PJ de mail.

Alors que certains se la petent “pompeusement”, vous avez rate l’info essentielle :
c’est un francais qui a cree l’algorithme de monsieur Facebook.

Mince quoi, pour un fois qu’il y avait un cocorico …