- ออกแบบมาเพื่อแก้ปัญหา คอขวดด้านประสิทธิภาพการอ่าน สำหรับการส่งคอนเทนต์และระบบฝังตัว
- ปรับให้เหมาะกับโครงสร้างแบบ บีบอัดครั้งเดียวและคลายหลายครั้ง (Read-Many) โดยให้เอนโค้ดเดอร์รับภาระความซับซ้อน และทำให้ดีโค้ดเดอร์มีทรูพุตสูงสุด
- เมื่อเทียบกับ LZ4 มี ความเร็วในการดีโค้ดเพิ่มขึ้นมากกว่า 40% (Apple Silicon), มากกว่า 20% (Google Axion ซึ่งเป็นชิป ARM สำหรับคลาวด์) และบน x86_64 ก็ เพิ่มขึ้นมากกว่า 5%
- ถูกรวมเข้ากับ lzbench master branch อย่างเป็นทางการแล้ว ทำให้สามารถตรวจสอบแบบอิสระด้วยมาตรฐานเบนช์มาร์กได้
- ออกแบบโดยเน้น ประสิทธิภาพเชิงอสมมาตร (Asymmetric Efficiency) เพื่อแก้ปัญหาการต้องเลือกประนีประนอมระหว่าง ความเร็วแบบสมมาตร (LZ4) และ ประสิทธิภาพการบีบอัด (Zstd) ของโคเด็กเดิม
- เอนโค้ดเดอร์สร้างบิตสตรีมให้เหมาะกับสถาปัตยกรรม CPU (โดยเฉพาะ ARMv8) เพื่อ เพิ่มประสิทธิภาพของ command pipeline และ branch prediction
- ดีโค้ดเดอร์ถูกทำให้ง่ายขึ้นเพื่อ เพิ่มทรูพุตขณะรันไทม์ให้สูงสุด
- เบนช์มาร์ก:
- บน Apple M2, ZXC มี ความเร็วในการดีโค้ดสูงสุด 1.9 เท่า เมื่อเทียบกับ LZ4 และมี ทรูพุตเร็วกว่า 2.7 เท่า เมื่อเทียบกับ Zstd
- บน Google Axion (ARM Neoverse V2) ก็ยังคงมี ความเร็วในการคลายข้อมูลเร็วกว่า 1.6~2.5 เท่า
- ในสภาพแวดล้อม x86_64 (AMD EPYC) ก็ทำได้ ประสิทธิภาพการดีโค้ดเร็วขึ้นสูงสุด 2.2 เท่า
- มี ระดับการบีบอัด 5 ระดับ
- Level 1–2 (เร็ว): สำหรับแอสเซ็ตแบบเรียลไทม์ เช่น เกม/UI โหลดได้เร็วกว่า LZ4 ราว 40%
- Level 3–4 (สมดุล): สมดุลระหว่างความเร็วและอัตราการบีบอัด
- Level 5 (กะทัดรัด): สำหรับเฟิร์มแวร์และระบบฝังตัว เร็วกว่า Zstd และมีอัตราการบีบอัดสูงกว่า LZ4
- รองรับ API และ CLI
- CLI: มีคำสั่งสำหรับบีบอัดแอสเซ็ตด้วยตนเองและรันเบนช์มาร์ก (
zxc -z, zxc -d, zxc -b)
- API: มี API แบบ thread-safe อย่างสมบูรณ์ (stateless) ที่เหมาะกับการทำ binding
- Streaming API: รองรับการประมวลผลไฟล์ขนาดใหญ่แบบขนาน พร้อม ตรวจจับเธรดอัตโนมัติและตรวจสอบ checksum
- ออกแบบด้วยโครงสร้าง Sans-IO จึงสามารถพัฒนา I/O driver ของแต่ละภาษาได้โดยตรง (อิงจาก
zxc_sans_io.h)
- รับประกันคุณภาพและความเสถียร
- การทำ fuzzing อย่างต่อเนื่อง (ClusterFuzzLite)
- การวิเคราะห์แบบสถิต (CPPChecker, Clang)
- การตรวจสอบแบบไดนามิก (Valgrind, ASan/UBSan)
- โครงสร้าง API ที่ปลอดภัย โดยกำหนดให้ทุกการทำงานต้อง ระบุความจุบัฟเฟอร์อย่างชัดเจน
- BSD 3-Clause License
ยังไม่มีความคิดเห็น