测试代码
@Test
public void TestJsonSpeed(){
try {
Map<String, Object> map = new HashMap<>();
for (int i = 0; i< 100000; i++){
map.put("k"+i, "v"+i);
}
long beginTime = System.currentTimeMillis();
JSON.toJSONString(map);
long endtime = System.currentTimeMillis();
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.writeValueAsString(map);
long endtime2 = System.currentTimeMillis();
System.out.println("fastjson: "+ (endtime - beginTime) + "ms");
System.out.println("jackjson: "+ (endtime2 - endtime) + "ms");
}catch (Exception e){
e.printStackTrace();
}
}
fastjson
版本:1.2.58
Jackson
版本:2.9.9
IDEA:2018.1.3
结果:
1000次 | 第一次 | 第二次 | 第三次 |
fastjson | 67ms | 62ms | 81ms |
Jackson | 22ms | 24ms | 27ms |
100000 | 第一次 | 第二次 | 第三次 |
fastjson | 140ms | 121ms | 89ms |
Jackson | 81ms | 72ms | 55ms |
1000000 | 第一次 | 第二次 | 第三次 |
fastjson | 1302ms | 1392ms | 1324ms |
Jackson | 171ms | 232ms | 202ms |
总结
通过对1千,10万,100万个键值对测试,得出就序列化来说,Jackson比fastjson快很多,尤其是数据越多,差距越明显。
通过将Jackson创建对象时间加入发现,没有很大影响。
本次实验参考:https://blog.csdn.net/u013433821/article/details/82905222
下面是关于fastjson和Jackson的使用教程:
fastjson:https://www.cnblogs.com/Jie-Jack/p/3758046.html
Jackson:https://blog.csdn.net/u011054333/article/details/80504154
来源:CSDN
作者:enjoy嚣士
链接:https://blog.csdn.net/u013919153/article/details/103990199