Апач Джонзон против Джексона
С тех пор как Apache выпустил первую финальную версию Johnzon, было бы действительно интересно узнать, есть ли уже какое-то сравнение между Johnzon и FastXML Jackson, чтобы понять, стоит ли переходить на него. Наиболее важной темой, вероятно, является производительность.
Кто-нибудь уже делал тесты производительности? Можете ли вы поделиться своим результатом?
Лучший
1 ответ
На github есть несколько тестов производительности. Но для каждого из них вам действительно нужно проверить, правильно ли реализован тест. Для того, что я видел, большинство тестов используют официальные API javax. * Неоптимальным образом. Большинство используют Json.createGenerator и т. Д., Но на самом деле они должны использовать JsonProvider.provider() и хранить его для своих операций. Затем вызовите createGenerator и т. Д. На этом JsonProvider. Таким образом, вы можете быть уверены, что получите действительно сопоставимые результаты. Мы провели немало тестов, и для меня цифры Джонзона выглядят очень хорошо. И тем более, что он намного меньше, чем большинство других библиотек JSON.
Как упоминалось в нескольких других источниках и списках рассылки (например, TomEE), прирост производительности, если таковой имеется, незначителен, особенно если сравнивать его с общей цепочкой обработки запросов-ответов.
Если вы используете Spring Boot, вы найдете гораздо больше поддержки сообщества и гибкости с точки зрения функций для Джексона. Джексон имеет множество различных модулей и хорошую поддержку для других языков JVM (например, KotlinModule).
Мы, в моем проекте, также используем довольно много Clojure, где мы используем Cheshire, который опирается на Джексона под капотом.
В конце концов, вам решать, что использовать и применимы ли упомянутые выше случаи к вашему проекту, но до сих пор я не видел убедительных отчетов об эффективности работы Джонсона, и пока это не произойдет, я бы пошел в библиотеку с намного более высокое принятие в промышленности.