最近项目用到fastJson和jackson,为了决定到底弃用哪个,随手写了个测试看看到底谁的性能更胜一筹。
看到过很多对比的帖子,大多数结果是fastJson性能高于jackson,可偏偏像SpringMVC这样成熟的框架默认也采用的jsckson,这就引起了我的怀疑,决定自己动手试试
1、开始测试,用一个map往里面装10万个键值对,结果jackson速度快于fastjson,jackson大约只用了fastjson一半的时间
2、这次我们把ObjectMapper实例化部分也纳入计时,这次情况有变化了,fastJson明显比jsckson快了,请看代码(ObjectMapper实例化放到endTime下面)
根据上面的测试可以初步得出一个结论,jackson的ObjectMapper实例化是一个性能瓶颈,如果提前准备好实例会比fastJson要快一倍左右,随后我打开ObjectMapper构造方法看了下,确实比较繁琐,因此在实际应用中我们转json字符串的时候应当使用同一个ObjectMapper实例,避免每次手动去new新的实例,而FastJson是用静态方法(JSONObject.toJSONString())因此我们在常规使用的时候不方便像jsckson那样把实例提前准备好。
来源:CSDN
作者:程序猿-Allen
链接:https://blog.csdn.net/luohao_/article/details/103559397