阿帕奇约翰松 VS 杰克逊
Posted
技术标签:
【中文标题】阿帕奇约翰松 VS 杰克逊【英文标题】:Apache Johnzon vs Jackson 【发布时间】:2017-06-27 11:34:21 【问题描述】:自从 Apache 发布了Johnzon 的第一个最终版本,看看 Johnzon 和FastXML Jackson 之间是否已经有一些比较,看看是否值得切换,这将是非常有趣的。最重要的话题可能是性能。
有人做过性能测试吗?你能分享一下你的结果吗?
最好的
【问题讨论】:
【参考方案1】:github 上有一些性能基准。 但是对于它们中的每一个,您确实必须验证基准是否真正正确实施。 就我所见,大多数基准测试都以次优方式使用官方 javax.* API。大多数使用 Json.createGenerator 等,但他们实际上应该使用 JsonProvider.provider() 并将其存储起来以供您操作。然后在这个 JsonProvider 上调用 createGenerator 等。 这样,您就可以确保您确实获得了可比较的结果。 我们已经做了很多测试,对我来说,Johnzon 的数量看起来非常好。尤其是因为它比大多数其他 JSON 库小得多。
【讨论】:
【参考方案2】:正如其他几个来源和邮件列表(例如 TomEE)所提到的,性能提升(如果有的话)是可以忽略不计的,尤其是当您将其与整个请求-响应处理链进行比较时。
如果您使用 Spring Boot,您会在 Jackson 的功能方面发现更多的社区支持和灵活性。 Jackson 拥有大量不同的模块,并且对其他 JVM 语言(例如 KotlinModule)有很好的支持。
在我的项目中,我们也使用了很多 Clojure,我们使用 Cheshire,它在底层依赖于 Jackson。
最后,由你决定使用什么以及我提到的案例是否适用于你的项目,但到目前为止,我还没有看到任何关于 Johnson 的令人信服的绩效报告,在它发生之前,我会选择一个在行业中具有更高采用率的库。
【讨论】:
以上是关于阿帕奇约翰松 VS 杰克逊的主要内容,如果未能解决你的问题,请参考以下文章