文章搬家至https://lcy362.github.io/posts/57802/
对于一个java object的序列化,想测一下使用json和使用一般序列化工具,在时间性能、空间性能上的区别。
json选择用fastjson.
序列化工具使用了protostuff和kyro. 为什么不用protobuf呢?因为感觉对于一个已有的上百个属性的java class来说,再去新建一个匹配的proto文件有点反人类。protostuff是protobuf的改良版本,可以直接将一个java object进行序列化,使用方法与kyro有点类似,没有protobuf那么多中间过程。其他的,hession, java自带序列化之类的,据说性能比kryo和protobuf差很多,就不测了。
简单测了一下,发现差距还挺明显的,所以感觉也不需要做具体的评测了。把日志截一段发出来,大家感受下。
fastjson serilise cost 555805 length: 1740
kyro serilise cost 227375 length502
protostuff serilise cost 78950 length633
fastjson deserilise cost 130662
k