您的位置:首页 > Web前端

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: