几种序列化协议(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

相关文章
相关标签/搜索