FlatBuffers与protobuf性能比较
2014-06-27 14:11
1641 查看
1. 什么是FlatBuffers
Google发布了FlatBuffers,一个跨平台,提供了C++/Java接口,注重性能和资源使用的序列化(Serialization)类库。
尤其是FlatBuffers更适用移动设备,他们要求更高的新能,更低的资源需求(内存、带宽、CPU等)。
1.1. 它的特点如下:
不需要打包/解包。它的结构化数据都以二进制形式保存,不需要数据解析过程,数据也可以方便传递。
省内存、性能好(见附录1)
强类型系统,在编译阶段就能预防一些bug的产生
跨平台(C++11/Java)
等等。
1.2. 和Protocol Buffers的不同之处
FlatBuffers和Protocol Buffers很像,他们的最大不同点是在使用具体的数据之前,FlatBuffers不需要解析/解包的过程。
1.3. 和JSON的不同之处
JSON作为数据交换格式,被广泛用户各种动态语言之间(当然也包括静态语言)。它的有点事易于理解(可读性好),同时它的最大的缺点那就是解析时的性能问题了。而且因为它的动态类型特点,你的代码可能还需要多写好多类型、数据检查逻辑。
---------------------------------------------------------------------------------------
Flatbuffers的idl的语法主要参考[http://google.github.io/flatbuffers/md__schemas.html ]
源代码在GitHub:https://github.com/google/flatbuffers
---------------------------------------------------------------------------------------
Protocol Buffers介绍
http://blog.csdn.net/program_think/article/details/4229773 http://www.docin.com/p-355526866.html
Google发布了FlatBuffers,一个跨平台,提供了C++/Java接口,注重性能和资源使用的序列化(Serialization)类库。
尤其是FlatBuffers更适用移动设备,他们要求更高的新能,更低的资源需求(内存、带宽、CPU等)。
1.1. 它的特点如下:
不需要打包/解包。它的结构化数据都以二进制形式保存,不需要数据解析过程,数据也可以方便传递。
省内存、性能好(见附录1)
强类型系统,在编译阶段就能预防一些bug的产生
跨平台(C++11/Java)
等等。
1.2. 和Protocol Buffers的不同之处
FlatBuffers和Protocol Buffers很像,他们的最大不同点是在使用具体的数据之前,FlatBuffers不需要解析/解包的过程。
1.3. 和JSON的不同之处
JSON作为数据交换格式,被广泛用户各种动态语言之间(当然也包括静态语言)。它的有点事易于理解(可读性好),同时它的最大的缺点那就是解析时的性能问题了。而且因为它的动态类型特点,你的代码可能还需要多写好多类型、数据检查逻辑。
---------------------------------------------------------------------------------------
Flatbuffers的idl的语法主要参考[http://google.github.io/flatbuffers/md__schemas.html ]
源代码在GitHub:https://github.com/google/flatbuffers
---------------------------------------------------------------------------------------
Protocol Buffers介绍
http://blog.csdn.net/program_think/article/details/4229773 http://www.docin.com/p-355526866.html
相关文章推荐
- FlatBuffers与protobuf性能比较
- FlatBuffers与protobuf性能比较
- FlatBuffers与protobuf性能比較
- Google序列化库FlatBuffers 1.1发布,及与protobuf的比较
- 【转】【UNITY3D 游戏开发之五】Google-protobuf与FlatBuffers数据的序列化和反序列化
- FlatBuffers与protobuf性能比较
- FlatBuffers与protobuf性能比较
- 【转】【UNITY3D 游戏开发之五】Google-protobuf与FlatBuffers数据的序列化和反序列化
- FlatBuffers与protobuf性能比较
- 基于GSoap/protobuf的服务性能优化
- 跨语言通信方案的比较—Thrift、Protobuf和Avro
- 性能最好的序列化反序列化,Protobuf的用法(maven项目)
- java序列化/反序列化之xstream、protobuf、protostuff 的比较与使用例子
- erlang序列化工具性能对比(erlang protobuf和term_to_binary对比)
- protobuf序列化/反序列化性能及问题
- C#中Protobuf实用指南与性能对比
- java序列化/反序列化之xml、protobuf、protostuff 的比较与使用例子
- java序列化/反序列化之xstream、protobuf、protostuff 的比较与使用例子
- protobuf,thrift,avro之序列化性能测试
- 跨语言通信方案的比较—Thrift、Protobuf和Avro