-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Revert "Replace Jackson Afterburner with Blackbird" #5477
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I've updated the benchmarks for Jackson Afterburner and Blackbird and ran them with a range of OpenJDK distributions and Java versions. Surprisingly, Jackson Blackbird never seems to be faster than Jackson Afterburner, at least not on GitHub Actions. Here are a few benchmark results (only Eclipse Temurin). Keep in mind that only the results within the same VM are comparable, so don't compare the results of Temurin 8 with Temurin 17, etc. |
|
All logs: logs.zip |
|
If the switch to Blackbird was also meant to encourage users upgrading their JDK, we could make Afterburner opt-in. We could declare an optional dependency on Afterburner and check, if the class is present. If it is not, we can default to Blackbird. |
Sounds like a sane approach. See updated PR. 😄 |
|
Thanks 👍 |
|
Kudos, SonarCloud Quality Gate passed! |
@joschi Have these results been cross posted in any of the @FasterXML repos? Would like to get @cowtowncoder input here on the recommended usage between the two implementations. |
|
I think Steven S (author of Blackbird and contributor to Afterburner) could comment, but realistically it both depends on JDK/JVM (BB being relatively faster on newer ones, I think). But there is also the issue that Afterburner may not really work on newer JDKs at all due to stronger limitations. So I think the choice likely depends on JDK you run things on: with Java 8, Afterburner probably is a better choice, but with 11 and later, Blackbird might be the better choice. One thing I would suggest is to have means to configure which module -- if either -- should be registered. |








It turns out that Jackson Blackbird isn't better/faster on Java 11/17/18 right now and Jackson Afterburner still works.
Let's revert the change from Jackson Afterburner to Blackbird in Dropwizard 2.1.x and keep using it in Dropwizard 3.x and later.
This reverts commit c65d010.
Refs #3803