两者都是序列化库,由Google开发人员开发。它们之间有什么大区别吗?使用协议缓冲区转换代码以使用FlatBuffers是否需要大量工作?
两者都是序列化库,由Google开发人员开发。它们之间有什么大区别吗?使用协议缓冲区转换代码以使用FlatBuffers是否需要大量工作?
Answers:
我在这里写了一些序列化系统的详细比较,包括Protobufs和FlatBuffers:
https://kentonv.github.io/capnproto/news/2014-06-17-capnproto-flatbuffers-sbe.html
但是,比较主要集中在比较三个新的“零复制”序列化系统,并且主要将Protobufs作为参考点。另外,我还是Cap'n Proto的作者,还是Protobufs v2的作者(我曾在Google负责Protobufs的开源采购),因此比较可能会有偏差。
请注意,Protobufs已在Google自己的所有服务中使用,而FlatBuffers只是一个实验性项目,据我了解,它尚未在内部广泛采用。
Protocol Buffers
在项目中使用了很棒的工具。在检查了关于FlatBuffers
和项目的新闻之后Github
,我发现它如您所说是实验性的,并且不是很热门,因此我还搜索了PB
和之间的性能比较,FB
并发布了此问题。谢谢您的比较!那意义重大!我完全同意benchmark
您的帖子中的内容the relative performance of these libraries depends deeply on the use case
。