V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
miclushine
V2EX  ›  问与答

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

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


    https://github.com/google/protobuf/issues/272
    miclushine
        6
    miclushine  
    OP
       2017-04-22 18:26:16 +08:00
    @soli 感谢建议
    KNOX
        7
    KNOX  
       2017-04-22 19:09:57 +08:00 via Android
    要看服务器的支持吧
    elo5
        8
    elo5  
       2017-04-24 10:00:28 +08:00
    @miclushine http 通信的没有用 protobuf 做过, socket 没有自己写,但是数据封装是按照我们自己定义的来的,我们暂时还没有用 protobuf3 ,还是用的 2
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2837 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 14:20 · PVG 22:20 · LAX 06:20 · JFK 09:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.