做移动开发的小伙伴们,现在用 protobuf 或 flatbuffers 来替换 json 的多吗,性能有多大提升,或者有没有遇到坑?

2017-04-22 16:39:38 +08:00
 miclushine
2924 次点击
所在节点    问与答
8 条回复
elo5
2017-04-22 17:01:38 +08:00
android ios 都用了 protobuf
miclushine
2017-04-22 17:10:31 +08:00
@elo5 对小数据量下的情况, 1Kb 左右的 json ,性能提升大不,比方数据量或者解析时间?
elo5
2017-04-22 17:50:06 +08:00
通信方式是 socket ,没有用 json 比较过呢,但 protobuf 跟 json 或其他的比较,你可以网上搜搜
miclushine
2017-04-22 18:09:54 +08:00
@elo5 官方有很多大量数据下的测试对比,解析速度是提升挺大,不过压缩后数据大小差别不大。目前实际项目中都是用 http 传输小量的 json 来通信, protobuf 替换改动还是挺大的,所以想先多了解下。还有你们网络通信都是自己写 socket ,不用常用的一些网络框架吗?
soli
2017-04-22 18:19:42 +08:00
如果用 protobuf 3 的话,建议等等。这个版本对未定义字段的处理是直接丢弃。
这样更新升级协议字段时,不能平滑过度。


https://github.com/google/protobuf/issues/272
miclushine
2017-04-22 18:26:16 +08:00
@soli 感谢建议
KNOX
2017-04-22 19:09:57 +08:00
要看服务器的支持吧
elo5
2017-04-24 10:00:28 +08:00
@miclushine http 通信的没有用 protobuf 做过, socket 没有自己写,但是数据封装是按照我们自己定义的来的,我们暂时还没有用 protobuf3 ,还是用的 2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/356650

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX