介绍
ProtoBuf 是google团队开发的用于高效存储和读取结构化数据的工具。什么是结构化数据呢,正如字面上表达的,就是带有一定结构的数据。比如电话簿上有很多记录数据,每条记录包含姓名、ID、邮件、电话等,这种结构重复出现。
同类
XML、JSON 也可以用来存储此类结构化数据,但是使用ProtoBuf表示的数据能更加高效,并且将数据压缩得更小。
原理
ProtoBuf 是通过ProtoBuf编译器将与编程语言无关的特有的 .proto 后缀的数据结构文件编译成各个编程语言(Java,C/C++,Python)专用的类文件,然后通过Google提供的各个编程语言的支持库lib即可调用API。(关于proto结构体怎么编写,可自行查阅文档)
总结
编解码性能
- 次数在1千以下,ProtoBuf 的编码与解码性能,都与JSON不相上下,甚至还有比JSON差的趋势。
- 次数在2千以上,ProtoBuf的编码解码性能,都比JSON高出很多。
- 次数在10万以上,ProtoBuf的编解码性能就很明显了,远远高出JSON的性能。
内存占用
ProtoBuf的内存34,而JSON到达106 ,ProtoBuf的

本文介绍了ProtoBuf,一种由Google开发的高效结构化数据存储工具,与XML和JSON进行比较。ProtoBuf通过编译器将.proto文件转换为不同编程语言的类,提供高效的编解码性能和较小的内存占用。在编解码性能方面,ProtoBuf在大量操作时明显优于JSON,而在内存占用上,ProtoBuf占用仅为JSON的1/3。

最低0.47元/天 解锁文章
359

被折叠的 条评论
为什么被折叠?



