← retour aux snippets

zstd: entraîner un dictionnaire pour petits fichiers

Créer un dictionnaire zstd à partir d'échantillons pour améliorer la compression de petits fichiers.

objectif

Améliorer le taux de compression pour des fichiers courts et similaires (JSON, CSS, etc.).

code minimal

# rassembler 100kB d'échantillons et entraîner
zstd --train *.json -o dict.zdict --maxdict=131072

utilisation

# compresser avec le dictionnaire
zstd -D dict.zdict -19 small.json -o small.json.zst

# décompresser avec dictionnaire
zstd -D dict.zdict -d small.json.zst -o small.json

variante(s) utile(s)

# entraîner à partir d'une liste
zstd --train -r samples/ -o dict.zdict --maxdict=262144

notes

  • le dictionnaire doit être partagé côté décompression.
  • fonctionne très bien pour des payloads répétitifs.