0
0
0
---
Json序列化性能测试
夏小草 发表于 2015年04月26日 20:34 | Hits: 2625
最近对Java 常见的Json库,做了一下性能测试和对比,对比的json 库有:
- Jackson: 目前使用最广泛、社区最活跃的json 库,以性能优异著称,也是SpringMVC 等各种框架默认使用的json 库
- FastJson: Ali 出品的json 库,从名字上也可以看出来,主打的是“快”
- Gson: Google 家的json库,比较轻量,适合Android 使用
- Json-lib: 这个很早出现的json库,实现上更符合json语义。目前已经5年没有更新了,性能也比较差,加入这个性能测试对比主要是用来羞辱还在使用这个库的Javaer们
测试的源代码在此。
测试环境:
- Java 1.8.0_31 64-Bit
- Jackson 2.5.2
- FastJson 1.2.5
- Gson 2.3.1
- Json-lib 2.1
测试结果如下,单位是ops/s,即每秒钟执行序列化/反序列化的次数:
Bean Serialize | Bean DeSerialize | Collection Serialize | Collection DeSerialize | |
Jackson | 130032 | 84337 | 118793 | 78649 |
Fast Json | 134966 | 164999 | 85924 | 94953 |
Gson | 46404 | 62125 | 54504 | 62867 |
Json-Lib | 7059 | 3376 | 8270 | 3383 |
可见:
- Json-lib 毫无疑问的垫底,与其他的性能差距在一个数量级以上
- FastJson 名副其实,在序列化性能持平或稍逊于jackson,但反序列化性能强于jackson
- Gson 性能相比Jackson 和FastJson有不小的差距,但还在一个数量级的范围内
我要给这篇文章打分:
可以不填写评论, 而只是打分. 如果发表评论, 你可以给的分值是-5到+5, 否则, 你只能评-1, +1两种分数. 你的评论可能需要审核.