首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FlatBuffers与Protobuf

FlatBuffers与Protobuf
EN

Stack Overflow用户
提问于 2019-02-01 19:33:25
回答 3查看 6.2K关注 0票数 6

我的问题是,如果FlatBuffers比Protobuf快得多,为什么它没有比Protobuf更广泛地使用呢?

它曾经是一个试验性的东西,但现在似乎已经足够成熟,但还没有得到广泛的应用。似乎人们主要将Flatbuffers用于移动应用程序/游戏。为什么会这样呢?

EN

回答 3

Stack Overflow用户

发布于 2019-10-11 18:10:44

这有几个原因:

  1. 正如你提到的,扁平缓冲区主要用在应用程序和游戏中。这是因为这是他们最好的应用程序。由于扁平缓冲区更快,它们的主要应用将是在低延迟应用程序中使用它们。它在这个领域越来越受欢迎。
  2. 当现有技术运行良好时,人们/组织通常不想为新技术投入时间和资源。我个人曾为一个大型组织做过一个涉及扁平缓冲区的概念验证工作。在做出使用这项技术的最终决定之前,有许多障碍。遗留系统仍然在使用xml和json,更不用说考虑协议了。
票数 4
EN

Stack Overflow用户

发布于 2019-02-01 19:41:19

我只在工作中使用过Protobuf。我认为这个问题的答案对于所有新技术的采用曲线都是一样的。“如果我们使用的东西运行良好,为什么我们要转换并必须投资于培训,并接受新的固有错误风险”。我还发现,有一小部分开发人员花了大量时间学习最新和最好的工具。大多数人找到了可以工作的东西,并一直使用它,直到他们被迫从漏洞或性能要求中进行更改。

票数 3
EN

Stack Overflow用户

发布于 2021-10-05 15:44:49

我认为有多种因素:

如果旧技术有效,

  1. 人员通常不会费心切换(除非它成为瓶颈,并且必须是optimized).
  2. Flatbuffers确实在速度方面进行了非常积极的优化,但代价是膨胀的数据大小。Protobuf的优化在速度和大小之间更加平衡。如果使用protobuf序列化,相同的消息通常会比使用扁平缓冲区序列化时要小得多。如果您的消息是通过网络发送的,则需要考虑这一点。(不要谈论压缩--压缩花费的CPU周期可能是从protobuf切换到flatbuffers.)
  3. Flatbuffers's节省的100倍,因为使用起来很困难。构建和序列化一个扁平缓冲器表一点也不容易,特别是当它有数组成员和/或嵌套表的时候。相比之下,我只花了一两分钟就学会了如何设置协议消息的字段并将其序列化为字节数组。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54478659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档