幾種序列化協議(protobuf,xstream,jackjson,jdk,hessian)相關數據對比

測試結果

序列化數據對比



 

bytes字節數對比

具體的數字: 

  protobuf jackson xstream Serializable hessian2 hessian2壓縮 hessian1
序列化(單位ns) 1154 5421  92406  10189 26794 100766 29027
反序列化(單位ns) 1334 8743  117329  64027 37871 188432 37596
bytes 97 311  664  824 374 283 495

 

    1. protobuf 無論是處理時間上,仍是空間佔用上都優於現有的其餘序列化方式。內存暫用是java 序列化的1/9,時間也是差了一個數量級,一次操做在1us左右。缺點:就是對象結構體有限制,只適合於內部系統使用。

    2. json格式在空間佔用仍是有一些優點,是java序列化的1/2.6。序列化和反序列化處理時間上差很少,也就在5us。固然此次使用的jackson,若是使用普通的jsonlib可能沒有這樣好的性能,jsonlib估計跟java序列化差很少。java

    3. xml相比於java序列化來講,空間佔用上有點優點,但不明顯。處理時間上比java序列化多了一個數量級,在100us左右。json

    4. 之前一種的java序列化,表現得有些失望性能

    5. hessian測試有點意外,具體序列化數據上還步入json。性能上也不如jackjson,輸得比較完全。測試

    6. hessian使用壓縮,雖然在字節上有20%以上的空間提高,但性能上差了4,5倍,典型的以時間換空間。總的來講仍是google protobuf比較給力google

相關文章
相關標籤/搜索