Skip to main content

FlatBuffers

  • google/flatbuffers
    • Apache-2.0
    • by Google
    • 跨平台序列化库
    • 优点
      • 速度快
      • 体积小
      • 无需解析即可访问数据
    • 应用场景
      • 游戏
      • 物联网
      • 高性能数据传输
    • Adopted by
      • Apache Arrow
      • TensorFlow Lite
      • PyTorch
      • Draco

FAQ

FlatBuffers vs Protocol Buffers

  • FlatBuffers
    • 强调性能
    • 场景: 游戏开发、物联网设备、移动应用
    • 0 拷贝
      • 更高效、即使序列化
      • 可用于内存受限场景
    • 可以直接访问
    • 占用空间比 Protocol Buffers 大一些
      • 二进制格式更注重快速访问和零拷贝
    • API 复杂
      • 需要理解 内存布局和访问方式
  • Protocol Buffers
    • 强调 兼容性
    • 场景: CS通信、配置文件、网络协议
    • 以 Message 方式呈现 - 序列化、反序列化都存在额外内存分配
    • 变长编码 - Varint
    • API 简单