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有那么相似,不展开了!

posted @ 2018-10-20 23:32  张建江  阅读(741)  评论(0编辑  收藏  举报