測試結果
序列化資料對比
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 |
-
protobuf 不管是處理時間上,還是空間佔用上都優於現有的其他序列化方式。記憶體暫用是java 序列化的1/9,時間也是差了一個數量級,一次操作在1us左右。缺點:就是物件結構體有限制,只適合於內部系統使用。
-
json格式在空間佔用還是有一些優勢,是java序列化的1/2.6。序列化和反序列化處理時間上差不多,也就在5us。當然這次使用的jackson,如果使用普通的jsonlib可能沒有這樣好的效能,jsonlib估計跟java序列化差不多。
-
xml相比於java序列化來說,空間佔用上有點優勢,但不明顯。處理時間上比java序列化多了一個數量級,在100us左右。
-
以前一種的java序列化,表現得有些失望
-
hessian測試有點意外,具體序列化資料上還步入json。效能上也不如jackjson,輸得比較徹底。
-
hessian使用壓縮,雖然在位元組上有20%以上的空間提升,但效能上差了4,5倍,典型的以時間換空間。總的來說還是google protobuf比較給力