24 puntos por xguru 2026-02-13 | Aún no hay comentarios. | Compartir por WhatsApp
  • Diseñada para resolver los cuellos de botella de rendimiento de lectura en la entrega de contenido y los sistemas embebidos
  • Adaptada a una estructura de comprimir una vez y descomprimir muchas veces (Read-Many), donde el codificador asume la complejidad y el decodificador asegura el máximo rendimiento
  • Frente a LZ4, mejora la velocidad de decodificación en más de 40% (Apple Silicon), más de 20% (Google Axion, chip ARM para la nube) y más de 5% en x86_64
  • Integrada oficialmente en la rama maestra de lzbench, por lo que ahora puede verificarse de forma independiente como benchmark estándar
  • Diseño centrado en la eficiencia asimétrica (Asymmetric Efficiency) para resolver el problema de compromiso entre la velocidad simétrica (LZ4) y la eficiencia de compresión (Zstd) de los códecs existentes
    • El codificador genera un bitstream adaptado a la arquitectura de CPU, especialmente ARMv8, para optimizar la pipeline de instrucciones y la predicción de saltos
    • El decodificador se simplifica para maximizar el rendimiento en tiempo de ejecución
  • Benchmarks:
    • En Apple M2, ZXC ofrece una decodificación hasta 1.9 veces más rápida que LZ4 y un rendimiento 2.7 veces mayor que Zstd
    • En Google Axion (ARM Neoverse V2) mantiene una velocidad de descompresión 1.6 a 2.5 veces más rápida
    • En entornos x86_64 (AMD EPYC) también logra una decodificación hasta 2.2 veces más rápida
  • Consta de 5 niveles de compresión
    • Level 1–2 (rápido): para assets en tiempo real como juegos/UI, con carga aproximadamente 40% más rápida que LZ4
    • Level 3–4 (equilibrado): balance entre velocidad y tasa de compresión
    • Level 5 (compacto): para firmware y sistemas embebidos, más rápido que Zstd y con mejor tasa de compresión que LZ4
  • Compatibilidad con API y CLI
    • CLI: ofrece comandos para compresión manual de assets y benchmarks (zxc -z, zxc -d, zxc -b)
    • API: ofrece una API completamente thread-safe (stateless), amigable para bindings
    • Streaming API: admite procesamiento paralelo de archivos grandes, con detección automática de hilos y verificación de checksum
    • Diseñada con una estructura Sans-IO, lo que permite implementar directamente drivers de I/O por lenguaje (basada en zxc_sans_io.h)
  • Garantía de calidad y estabilidad
    • Fuzzing continuo (ClusterFuzzLite)
    • Análisis estático (CPPChecker, Clang)
    • Verificación dinámica (Valgrind, ASan/UBSan)
    • Estructura de API segura que exige especificar explícitamente la capacidad del búfer en todas las operaciones
  • Licencia BSD 3-Clause

Aún no hay comentarios.

Aún no hay comentarios.