24 points par xguru 2026-02-13 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Conçue pour résoudre les goulots d’étranglement de performance en lecture dans la diffusion de contenu et les systèmes embarqués
  • Adaptée à une architecture compression unique et décompression multiple (Read-Many), où l’encodeur prend en charge la complexité tandis que le décodeur maximise le débit
  • Par rapport à LZ4, vitesse de décodage améliorée de plus de 40 % (Apple Silicon), de plus de 20 % (Google Axion, puce ARM pour le cloud) et de plus de 5 % sur x86_64
  • Officiellement intégrée à la branche master de lzbench, permettant désormais une vérification indépendante via un benchmark standard
  • Conception centrée sur l’efficacité asymétrique (Asymmetric Efficiency) pour dépasser le compromis entre la vitesse symétrique (LZ4) et l’efficacité de compression (Zstd) des codecs existants
    • L’encodeur génère un bitstream adapté à l’architecture CPU (en particulier ARMv8) afin d’optimiser le pipeline d’instructions et la prédiction de branchement
    • Le décodeur est simplifié afin de maximiser le débit à l’exécution
  • Benchmarks :
    • Sur Apple M2, ZXC offre un décodage jusqu’à 1,9× plus rapide que LZ4 et un débit 2,7× supérieur à Zstd
    • Sur Google Axion (ARM Neoverse V2), la vitesse de décompression reste 1,6 à 2,5× plus rapide
    • En environnement x86_64 (AMD EPYC), jusqu’à 2,2× de meilleures performances de décodage
  • Disponible avec 5 niveaux de compression
    • Niveaux 1–2 (rapides) : pour les assets temps réel comme les jeux et interfaces UI, avec un chargement environ 40 % plus rapide que LZ4
    • Niveaux 3–4 (équilibrés) : équilibre entre vitesse et taux de compression
    • Niveau 5 (compact) : pour firmware et embarqué, plus rapide que Zstd et avec un meilleur taux de compression que LZ4
  • Support API et CLI
    • CLI : commandes pour la compression manuelle d’assets et les benchmarks (zxc -z, zxc -d, zxc -b)
    • API : architecture entièrement thread-safe (sans état), avec une API adaptée aux bindings
    • API de streaming : prise en charge du traitement parallèle de gros fichiers, avec détection automatique des threads et vérification de checksum
    • Conçue selon une architecture Sans-IO, permettant d’implémenter directement des pilotes I/O par langage (sur la base de zxc_sans_io.h)
  • Garantie de qualité et de stabilité
    • fuzzing continu (ClusterFuzzLite)
    • analyse statique (CPPChecker, Clang)
    • validation dynamique (Valgrind, ASan/UBSan)
    • API sûre exigeant la spécification explicite de la capacité des buffers pour toutes les opérations
  • Licence BSD 3-Clause

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.