- 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.