JSON 和 protobuf 到底谁快?实测数据告诉你
时间:2026-05-30 22:17:15 阅读:28
都说 protobuf 比 JSON 快,但快多少?什么场景值得换?自己跑了一遍测试。
测试方法
用同一个数据结构(用户信息含 10 个字段),分别用 JSON 和 protobuf 序列化/反序列化 10 万次,对比耗时和体积。语言选 Python,protobuf 版本 3.20。序列化速度
JSON 序列化 10 万次耗时约 420ms,protobuf 约 280ms。protobuf 快了约 33%。反序列化差异更大:JSON 解码约 510ms,protobuf 约 230ms,快了一倍。数据体积
JSON 文本格式每个字段都带名字,10 个字段的数据约 180 字节。protobuf 二进制格式约 55 字节,只有 JSON 的 30%。这个差异在网络传输中会被放大,特别是高并发场景。什么时候值得换
内网微服务之间调用,延迟和带宽都不敏感,JSON 完全够用还方便调试。公网 API、移动端接口、高 QPS 的内部 RPC,换成 protobuf 效果明显。IoT 设备传输带宽受限的场景,protobuf 几乎是必选。代价是什么
protobuf 需要定义 .proto 文件、生成代码、两端同步。调试时是二进制格式,还得转成 JSON 看。小型项目或者只有一个接口,用 JSON 更省事。项目大、接口多、性能敏感,protobuf 的价值就体现出来了。



提供云计算服务