flatbuffers 谷歌开源的内存高效的序列化库

flatbuffers 支持的特性

  • 可以直接访问数据而不用进行解析以及拆包
  • 内存高效
  • 灵活
  • 较小的代码生成
  • 强类型
  • 方便使用
  • 跨平台

与protoco buffers 的比较

主要区别在于FlatBuffers不需要解析/解包步骤即可访问数据,而通常需要结合每个对象的内存分配,然后才能访问数据。该代码也要大一个数量级。协议缓冲区既没有可选的文本导入/导出功能,也没有诸如联合的架构语言功能

使用flatbuffers的方法

  • 编写schema
  • 使用flatbuffers编译器生成代码(跨平台的)
  • 使用FlatBufferBuilder构建对象
  • 数据处理。。。。

参考资料

https://github.com/google/flatbuffers
https://google.github.io/flatbuffers/flatbuffers_white_paper.html

原文地址:https://www.cnblogs.com/rongfengliang/p/14589452.html