Skip to content
Search

ZXC

lastmod 2026-02-13created 2026-02-132 edits

A high-performance asymmetric lossless compression library optimized for content delivery

About

  • Designed to solve read-performance bottlenecks in content delivery and embedded systems
  • Built for a compress-once, decompress-many (Read-Many) pattern: the encoder takes on the complexity while the decoder secures maximum throughput
  • Decoding speed improved by 40%+ over LZ4 (Apple Silicon) , 20%+ (Google Axion, a cloud ARM chip) , and 5%+ even on x86_64
  • Officially integrated into the lzbench master branch, so it can now be independently verified with a standard benchmark
  • Designed around Asymmetric Efficiency, resolving the trade-off in existing codecs between symmetric speed (LZ4) and compression efficiency (Zstd)
    • The encoder generates a bitstream tailored to the CPU architecture (especially ARMv8) to optimize the instruction pipeline and branch prediction
    • The decoder is simplified to maximize runtime throughput
  • Benchmarks:
    • On Apple M2, ZXC decodes up to 1.9x faster than LZ4 and has 2.7x faster throughput than Zstd
    • Maintains 1.6–2.5x faster decompression on Google Axion (ARM Neoverse V2) as well
    • Achieves up to 2.2x faster decoding on x86_64 (AMD EPYC) as well
  • Five compression levels
    • Level 1–2 (fast): for real-time assets such as games/UI, about 40% faster loading than LZ4
    • Level 3–4 (balanced): a balance of speed and ratio
    • Level 5 (compact): for firmware and embedded use, faster than Zstd with a higher compression ratio than LZ4
  • API and CLI support
    • CLI: commands for manual asset compression and benchmarking (zxc -z, zxc -d, zxc -b)
    • API: a fully thread-safe (stateless) design that provides a binding-friendly API
    • Streaming API: supports parallel processing of large files, including automatic thread detection and checksum verification
    • Designed with a Sans-IO architecture, so you can implement language-specific I/O drivers yourself (based on zxc_sans_io.h)
  • Quality and stability assurance
    • Continuous fuzzing (ClusterFuzzLite)
    • Static analysis (CPPChecker, Clang)
    • Dynamic verification (Valgrind, ASan/UBSan)
    • A safe API design that requires explicit buffer capacities for every operation
  • BSD 3-Clause License

See also

Favorite site

author Zer0 sitemap