FlatBuffers與protobuf性能比較

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章