又一份对比数据,原始 json 640K
/ pb 182K
、压缩后 json 62K
/ pb 60K
-rw-r--r--+ 1 zhengkai zhengkai 640K Jan 11 12:00 list.json
-rw-------+ 1 zhengkai zhengkai 62K Jan 11 12:00 list.json.br
-rw-------+ 1 zhengkai zhengkai 73K Jan 11 12:00 list.json.gz
-rw-r--r--+ 1 zhengkai zhengkai 182K Jan 11 12:00 list.pb
-rw-------+ 1 zhengkai zhengkai 60K Jan 11 12:00 list.pb.br
-rw-------+ 1 zhengkai zhengkai 67K Jan 11 12:00 list.pb.gz
message Item {
uint32 id = 1;
Label.Enum type = 2;
repeated Label.Enum label = 3;
repeated uint32 category = 4;
}
message ItemList {
repeated Item item = 1;
}
其实我以前也是这种观点,protobuf 是为了写代码容易、作为有“法律”效力的文档而减少沟通时出错,而不是为了那点性能
不过我还是没想过 brotli 能把字符串描述的数字压缩到接近 varint 的水平,这真的很让我吃惊