首页 > 其他 > 详细

数据序列化方式比较

时间:2017-02-09 22:08:21      阅读:287      评论:0      收藏:0      [点我收藏+]

经过网上资料查证以及自身实际测试,对比了一下几种序列化方式:java序列化、json、avro、kryo、protobuff、protostuff,对5144条6KB左右数据进行测试结果

序列化工具

序列化时间(ms)

反序列化时间(ms)

平均每条记录大小(byte)

java序列化

225

238

6324

json

6831

4629

21444

avro

434

509

5995

kryo

171

76

5998

Protobuff

62

43

6005

Protostuff

52

50

6005

从上述表格可以得出,除json外,其他序列化工具序列化后数据大小差距不大,但序列化/反序列化耗时上protobuff/protostuff有明显优势。故序列化框架在protobuff和protostuff中进行选择。

Protostuff是基于Google protobuff技术的Java版本,直接使用原生的protobuff是需要数据结构的预编译过程,需要编写.proto格式的配置文件,再通过protobuff提供的工具翻译成目标语言代码,而Protostuff动态支持了protobuff的预编译的过程,可以直接使用普通java POJO进行序列化,简化编码。

经过实测序列化性能相对原生protpbuff没有影响。

由于Protostuff只支持Java实现,不过并未对序列化格式有做任何修改,所以Protostuff和protobuff可以共同使用。

数据序列化方式比较

原文:http://www.cnblogs.com/jinniezheng/p/6383947.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!