137

两者都是序列化库,由 Google 开发人员开发。它们之间有什么大的区别吗?使用Protocol Buffers将代码转换为使用FlatBuffers是否需要做很多工作?

4

1 回答 1

153

我在这里写了一些序列化系统的详细比较,包括 Protobufs 和 FlatBuffers:

https://kentonv.github.io/capnproto/news/2014-06-17-capnproto-flatbuffers-sbe.html

但是,比较更侧重于比较三个新的“零拷贝”序列化系统,并且主要包括 Protobufs 作为参考点。另外,我是 Cap'n Proto 的作者,也是 Protobufs v2 的作者(我在 Google 负责开源 Protobufs),所以比较可能会有偏差。

(2021 年更新:)请注意,Protobufs 早在 2001 年左右就在 Google 中引入,并且今天仍然是那里的“通用语”。FlatBuffers 于 2014 年推出,并在一些项目中使用,但 Protobuf 仍然是 Google 的主要数据交换格式,并且无意改变它。公平地说,如果他们愿意,谷歌可能无法改变这一点,代码太多了。

于 2014-08-18T19:47:02.277 回答