NOTE: To view the original version of this project, checkout the v1.0.0 branch
This project demonstrates the performance benefits of running Java applications on Eclipse OpenJ9.
Eclipse OpenJ9 is a fully compatible opensource JVM that is free for both download and use from AdoptOpenJDK.
This demo is used in the presentation OpenJ9 a Lean, Mean, Java Virtual Machine
Slides to the presentation are available here: https://ibm.biz/Bd2umZ
A Spring Batch application is used as a test article for comparing the JVMs to one another. At a high level the batch application performs the following actions:
- Read from CSV (number of records read is)
- Perform data transform
- Write to in-memory database (H2) using JPA
- Performe SHA hashes on records
- Performe checks on records
- Simple logic and regexes
- Print to console
- Transform and print object as JSON string to console
The source code for the application is avaliable here.
Feedback is welcome on the design of a demo to properly compare JVMs to one another. The goal of this demo was to be able to easily compare throughput and minimize dependencies on external (to the JVM) dependencies.
This project and presentation have ongoing improvements made to them. They might change a bit over time, but always with the intent of improving upon the content to make it more informative, helpful, easier to use, and give a more accurate representation of OpenJ9's performance relative to other available JVM implementations.