protobuf & xml浅见

Posted printk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了protobuf & xml浅见相关的知识,希望对你有一定的参考价值。

XML格式,那么多tag,一眼就看出来再怎么好的解析器,效率也好不到哪去,
比纯粹binary的raw格式效率肯定差太远。本质上是明文字符串,在网络上传输
量也大,因此传输效率也不高,当做配置文件用比较好,不仅给人看直观,层
次结构也比较清晰。十几年前,各路大神,大软件商都齐声高歌我们完全兼容
支持XML。原谅我Don Box大神的<<Essential XML>>这书我只看了看封面,
500多页的内容吓到我了。

binary的raw格式缺点在于没标准,依赖于机器表达和网络传输,google这种网
络公司肯定注意到了效率,好了google的protobuf出来了。想想binary的东西,
用c这种高级汇编直接操作内存偏移,格式可以紧凑多少啊,不管是序列化还是
反序列化,以及在网络上传输,效率不高才怪!

protobuf这个东东,本人理解就是google定义了数据存储结构描述语言,以及
给出了数据操作的上层各种语言,思想是一样的跨平台数据交换和存储。

至于内部存储格式,体系架构Intel386, arm, Power,网络字节序netorder等等
涉及到数据交换的考虑因素,连我都想到了,google大神们肯定早想到了,
就不需要再操心了!快就是省电,紧凑就意味着省空间,都意味着省钱。。。

再想想这玩意好像跟idl描述语言,和rpc有那么相似,不展开了!




















以上是关于protobuf & xml浅见的主要内容,如果未能解决你的问题,请参考以下文章

Protobuf 语言指南(proto3)

protobuf-net - 反引号、字典和 .proto 文件

protobuf 和 Visual Studio 无缝集成 - 监控 proto 文件更改 [重复]

protobuf 下载编译,拷贝,proto文件生成c# c++代码

protobuf 下载编译,拷贝,proto文件生成c# c++代码

protobuf 下载编译,拷贝,proto文件生成c# c++代码