Lite^3, a JSON-Compatible Zero-Copy Serialization Format
2 months ago
- #zero-copy
- #serialization
- #performance
- Lite³是一种零拷贝二进制序列化格式,将数据编码为单一连续缓冲区内的B树结构
- 它支持在O(log n)时间复杂度内访问和修改任意字段,功能相当于序列化的字典
- 无需传统解析/序列化过程,可直接读写和修改数据,操作方式类似哈希表或二叉树
- 该格式无模式限制、具有自描述性,并支持与JSON双向转换以确保兼容性和调试便利
- 性能测试显示Lite³比最快的JSON库快达120倍,较Google Flatbuffers快242倍
- 提供两种API:可精细控制内存分配的Buffer API和简化使用的Context API
- 安全特性包括溢出保护边界检查、运行时类型安全及递归深度限制
- 适用于嵌入式系统和ARM平台(需支持int64_t类型和8字节双精度浮点)
- 未来规划包括-flto编译优化、内置碎片整理和完整的JSON互操作性
- 受Lite²论文启发但为独立实现,命名为Lite³寓意更轻量化