- Format serialisasi biner zero-copy yang dikembangkan untuk menghilangkan batas antara parsing data dan serialisasi
- Data dikodekan dalam struktur B-tree di dalam satu buffer kontinu, sehingga akses dan modifikasi field acak dapat dilakukan dalam waktu
O(log n)
- Format memori sekaligus menjadi format transmisi, sehingga dapat langsung dikirim dan diterima tanpa proses parsing atau serialisasi ulang terpisah
- Segera setelah diterima, pencarian key, modifikasi nilai, hingga pengiriman dapat diproses hanya dengan penyalinan memori (
memcpy)
- Struktur tanpa skema (self-describing), sehingga dapat digunakan tanpa IDL atau definisi skema
- Mendukung konversi dua arah dengan JSON, sehingga kompatibilitas dengan API dan dataset yang ada tetap terjaga
- Saat debugging dan inspeksi pesan, dapat ditampilkan dalam bentuk JSON
- Dirancang dengan fokus pada performa
- Terdiri dari struktur B-tree yang ramah cache dan implementasi C minimal berukuran 9.3 kB
- Hingga 120 kali lebih cepat dibanding pustaka JSON tercepat yang menggunakan SIMD, dan hingga 242 kali lebih cepat dibanding Google Flatbuffers
- Menjadi salah satu format data tanpa skema tercepat di dunia
- Karakteristik teknis
- Mendukung baca/tulis zero-copy, dengan semua operasi I/O berkompleksitas
O(log n)
- Validasi pointer dan keamanan tipe saat runtime sudah terintegrasi
- Tidak menggunakan
malloc(), buffer disediakan langsung oleh pemanggil
- Latensi yang dapat diprediksi dan penggunaan memori yang rendah
- Berbasis C11 (sintaks GNU C), tanpa dependensi eksternal
- Secara opsional menggunakan yyjson sebagai sub-dependensi untuk mendukung konversi JSON
- Susunan API
- Buffer API: berbasis buffer yang disediakan pengguna, memaksimalkan kontrol memori
- Context API: mengabstraksikan pengelolaan memori, menyediakan antarmuka yang lebih sederhana
- Perbandingan dan hasil benchmark
- Menunjukkan kecepatan pemrosesan yang sangat unggul dibanding format teks seperti JSON, BSON, dan MessagePack
- Menawarkan fleksibilitas dan kemudahan modifikasi yang lebih tinggi dibanding format biner seperti Cap’n Proto dan Flatbuffers
- Mencatat performa papan atas pada data API Twitter nyata, Kostya JSON, benchmark serialisasi C++, dan lainnya
- Desain keamanan
- Mencakup pemeriksaan batas untuk perlindungan overflow, makro pointer berbasis generasi, batas rekursi, dan validasi tipe saat runtime
- Cocok untuk menangani data input yang tidak tepercaya
- Konteks penggunaan
- Memaksimalkan efisiensi CPU pada messaging jaringan berperforma tinggi, pemrosesan data real-time, lingkungan embedded, dan lainnya
- Dapat langsung diterapkan pada sistem berbasis antarmuka C
- Lisensi dan ekstensibilitas
- Dirilis dengan lisensi MIT sebagai implementasi C yang mandiri
- Ke depan ada roadmap tambahan seperti language binding, benchmark kompresi, dan penulisan spesifikasi resmi
- Asal-usul dan latar belakang
- Berdasarkan konsep yang diusulkan dalam makalah Lite² yang dipublikasikan pada 2024, lalu diimplementasikan ulang secara independen sebagai proyek tersendiri
- Nama Lite³ bermakna lebih ringan daripada Lite²
Belum ada komentar.