1. 程式人生 > >protobuf & xml淺見

protobuf & xml淺見

高級 體系架構 清晰 公司 以及 商都 也好 給人 tag

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淺見