24 poin oleh xguru 2026-02-13 | Belum ada komentar. | Bagikan ke WhatsApp
  • Dirancang untuk mengatasi bottleneck performa baca pada pengiriman konten dan sistem embedded
  • Sesuai untuk struktur sekali kompresi, berkali-kali dekompresi (Read-Many), dengan encoder menangani kompleksitas dan decoder memaksimalkan throughput
  • Dibandingkan LZ4, kecepatan decoding meningkat lebih dari 40% (Apple Silicon), lebih dari 20% (Google Axion, chip ARM untuk cloud), dan lebih dari 5% pada x86_64
  • Resmi terintegrasi ke cabang master lzbench, sehingga kini dapat diverifikasi secara independen melalui benchmark standar
  • Berfokus pada desain efisiensi asimetris (Asymmetric Efficiency) yang mengatasi kompromi antara kecepatan simetris (LZ4) dan efisiensi kompresi (Zstd) pada codec yang ada
    • Encoder menghasilkan bitstream yang disesuaikan dengan arsitektur CPU (terutama ARMv8) untuk optimasi pipeline instruksi dan prediksi cabang
    • Decoder disederhanakan untuk memaksimalkan throughput saat runtime
  • Benchmark:
    • Pada Apple M2, ZXC menawarkan decoding hingga 1,9x lebih cepat daripada LZ4, dan throughput 2,7x lebih cepat daripada Zstd
    • Pada Google Axion (ARM Neoverse V2), tetap mempertahankan kecepatan dekompresi 1,6~2,5x lebih cepat
    • Pada lingkungan x86_64 (AMD EPYC), mencapai kinerja decoding hingga 2,2x lebih cepat
  • Terdiri dari 5 level kompresi
    • Level 1–2 (cepat): untuk aset real-time seperti game/UI, loading sekitar 40% lebih cepat daripada LZ4
    • Level 3–4 (seimbang): keseimbangan antara kecepatan dan rasio kompresi
    • Level 5 (ringkas): untuk firmware dan embedded, lebih cepat daripada Zstd dan rasio kompresinya lebih baik daripada LZ4
  • Mendukung API dan CLI
    • CLI: menyediakan perintah untuk kompresi aset manual dan benchmark (zxc -z, zxc -d, zxc -b)
    • API: menyediakan API yang sepenuhnya thread-safe (stateless) dan ramah untuk binding
    • Streaming API: mendukung pemrosesan paralel file berukuran besar, termasuk deteksi thread otomatis dan verifikasi checksum
    • Dirancang dengan struktur Sans-IO, sehingga driver I/O per bahasa dapat diimplementasikan langsung (berdasarkan zxc_sans_io.h)
  • Jaminan kualitas dan stabilitas
    • Fuzzing berkelanjutan (ClusterFuzzLite)
    • Analisis statis (CPPChecker, Clang)
    • Verifikasi dinamis (Valgrind, ASan/UBSan)
    • Struktur API aman yang mewajibkan penentuan kapasitas buffer secara eksplisit pada semua operasi
  • BSD 3-Clause License

Belum ada komentar.

Belum ada komentar.