找回密码
 立即注册
查看: 341|回复: 0

Protobuf为什么性能好

[复制链接]
发表于 2022-6-26 11:26 | 显示全部楼层 |阅读模式
1、编解码大多采用位移运算,比 JSON/XML 的字符匹配效率高

2、pb定义了Varint 类型,使用变长编码压缩数值类型。 简单来说,值越小的数字,使用越少的字节数表示 。负数通过 zigzag 编码实现用无符号数表示有符号数,对负数数据可以更好的压缩。

3、采取 Tag-Value (Varint 类型)或 Tag-Length-Value(字符串或其他对象类型),无 json 或 xml 内冗余字符。由于tag只有一个字节,其性能开销很小。

如果数据内包含较多数值类型(int/double/float),用 pb 可以大大降低尺寸并提升解析性能。 如果数据中有较多字符串对象,性能提升相对有限。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-26 05:57 , Processed in 0.087782 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表