FlatBuffers

FlatBuffers 是一个高效的跨平台序列化库,提供了C++、C#、C、Go、Java 等的接口。在Github 上依据 Apache 许可证开源。

这是一个注重性能和资源使用的序列化类库。相较于 Protocol Buffers,其更适用于移动设备,FlatBuffers提供更高的性能以及更低的资源需求。

FlatBuffers 特点

  • 无需打包 / 解包即可访问序列化数据 - 它的结构化数据都以二进制形式保存,不需要数据解析过程,数据也可以方便传递。
  • 内存效率和速度 - 节省内存,且具有更高的效率。
  • 灵活 - 具有出色的前后兼容性,不必随新版本更新所有数据。
  • 微小的代码占用 - 生成的代码量很小,很容易集成。
  • 强键入 - 错误发生在编译阶段,在编译阶段就可以检查一些 BUG 产生。
  • 使用方便 - 生成C++代码允许简洁的访问和构建代码。可以在运行时高效解析架构和生成类似 JSON 的文本表示(比 JSON 解析器具有更快、更高效的内存)。

FlatBuffers/Protocol Buffers/Json 比较

FlatBuffers - Protocol Buffers

  • 在使用具体的数据之前,FlatBuffers 不需要解析/解包的过程。
  • 使用时,FlatBuffers 的引用比 Protocol Buffer 方便,只需要包含两三个头文件即可。

FlatBuffers - Json

  • Json 作为数据交换格式,广泛用于各种动态语言之间(当然也包括静态语言)。
  • 优点:易于理解(可读性好),
  • 缺点:解析性能较差。而且因为它的动态类型特点,代码需要多写好多类型、数据检查逻辑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值