24 điểm bởi xguru 2026-02-13 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Được thiết kế để giải quyết điểm nghẽn hiệu năng đọc trong truyền tải nội dung và hệ thống nhúng
  • Phù hợp với mô hình nén một lần, giải nén nhiều lần (Read-Many), trong đó encoder đảm nhiệm độ phức tạp còn decoder được tối ưu để đạt thông lượng tối đa
  • Cải thiện hơn 40% tốc độ giải mã so với LZ4 (Apple Silicon), hơn 20% trên Google Axion (chip ARM cho đám mây), và hơn 5% trên x86_64
  • Đã được tích hợp chính thức vào nhánh master của lzbench, nên giờ có thể được kiểm chứng độc lập bằng benchmark tiêu chuẩn
  • Thiết kế tập trung vào hiệu quả bất đối xứng (Asymmetric Efficiency) để giải quyết bài toán đánh đổi giữa tốc độ đối xứng (LZ4)hiệu quả nén (Zstd) của các codec hiện có
    • Encoder tạo bitstream phù hợp với kiến trúc CPU (đặc biệt là ARMv8) nhằm tối ưu pipeline lệnh và dự đoán nhánh
    • Decoder được đơn giản hóa để tối đa hóa thông lượng lúc chạy
  • Benchmark:
    • Trên Apple M2, ZXC có tốc độ giải mã nhanh hơn tối đa 1.9 lần so với LZ4 và thông lượng nhanh hơn 2.7 lần so với Zstd
    • Trên Google Axion (ARM Neoverse V2), vẫn duy trì tốc độ giải nén nhanh hơn 1.6~2.5 lần
    • Trong môi trường x86_64 (AMD EPYC), đạt hiệu năng giải mã nhanh hơn tối đa 2.2 lần
  • Gồm 5 mức độ nén
    • Level 1–2 (nhanh): dành cho asset thời gian thực như game/UI, tải nhanh hơn khoảng 40% so với LZ4
    • Level 3–4 (cân bằng): cân bằng giữa tốc độ và tỷ lệ nén
    • Level 5 (gọn): dành cho firmware và hệ thống nhúng, nhanh hơn Zstd và có tỷ lệ nén cao hơn LZ4
  • Hỗ trợ API và CLI
    • CLI: cung cấp lệnh để nén asset thủ công và benchmark (zxc -z, zxc -d, zxc -b)
    • API: cung cấp API hoàn toàn thread-safe (stateless), thân thiện cho việc binding
    • Streaming API: hỗ trợ xử lý song song tệp dung lượng lớn, bao gồm tự động phát hiện luồng và kiểm tra checksum
    • Được thiết kế theo cấu trúc Sans-IO, cho phép tự triển khai I/O driver theo từng ngôn ngữ (dựa trên zxc_sans_io.h)
  • Đảm bảo chất lượng và độ ổn định
    • Fuzzing liên tục (ClusterFuzzLite)
    • Phân tích tĩnh (CPPChecker, Clang)
    • Kiểm chứng động (Valgrind, ASan/UBSan)
    • Cấu trúc API an toàn, yêu cầu chỉ định rõ dung lượng buffer cho mọi thao tác
  • BSD 3-Clause License

Chưa có bình luận nào.

Chưa có bình luận nào.