Closed Sreekala-Gopakumar closed 8 months ago
First draft (0.40.0 content is live at https://www.eclipse.org/openj9). Note: this isn't an exhaustive list of all the changes, just the main ones:
Eclipse OpenJ9 version 0.41.0 released
October 2023
We're pleased to announce the availability of Eclipse OpenJ9™ v0.41.0.
This release supports OpenJDK 8, 11 and 17. For more information about supported platforms and OpenJDK versions, see Supported environments.
Other updates in this release include the following:
- The
-XX:+CompactStrings
option is now enabled by default on Java™ 11 and later.- The JITServer client can now use the JITServer AOT cache even if both the
-Xshareclasses:readonly
option and the JITServer AOT cache feature were enabled at the same time. With the change in behavior of the-Xshareclasses:readonly
option, the shared class cache startup creates a temporary new (writable) top layer that the JITServer AOT cache can use to store data that it needs to function.- A new
-XX:[+|-]EnableDynamicAgentLoading
option is added to enable or disable the dynamic loading of agents into a running VM.- A new
-XX:[+|-]UseZlibNX
option is added to control the loading of thezlibnx
library in theLIBPATH
environment variable on the AIX® systems.To read more about these and other changes, see the OpenJ9 user documentation.
Performance highlights include:
- Performance of algorithms with the use of OpenSSL version 3 and later is now enhanced. Improved algorithms include SHA256, AES, HmacSHA256, and ChaCha20.
To obtain these improved algorithms and further enhance the performance of these algorithms on Linux® and AIX, use OpenSSL 3.0.12 or a later 3.0.x version, or 3.1.4 or a later 3.1.x version.- For Java 17, the performance to call the virtual or interface methods through
MethodHandles
is improved.- The JIT inlining optimization is enhanced to improve performance when it selects methods with constant arguments.
@pshipton @vijaysun-omr @cjjdespres @thallium @JasonFengJ9 @fengxue-IS Are there any performance updates that you want to highlight in the website? Any other what's new update to be added here? Thanks!
I think there are some enhancements for method handle performance that were included in this release, @0xdaryl maybe you can double check with your team and post a one sentence summary ?
I think we could mention that performance with OpenSSL version 3.x is better because of several changes that were done, but I believe a bulk of changes for this were in the extensions repo. I'll mention it anyway since it was obviously an area where work was done. I can ask Jason Katonica for his opinion.
I think we could mention that performance with OpenSSL version 3.x is better because of several changes that were done, but I believe a bulk of changes for this were in the extensions repo. I'll mention it anyway since it was obviously an area where work was done. I can ask Jason Katonica for his opinion.
Yes agreed we can mention that there are performance enhancements for OpenSSL 3.x users.
I think we could mention that performance with OpenSSL version 3.x is better because of several changes that were done, but I believe a bulk of changes for this were in the extensions repo. I'll mention it anyway since it was obviously an area where work was done. I can ask Jason Katonica for his opinion.
Yes agreed we can mention that there are performance enhancements for OpenSSL 3.x users.
Anything in particular that we should highlight?
Anything in particular that we should highlight?
Yes I think we want to highlight specific algorithms for openssl 3 users. Perhaps something like:
Performance enhancements were made for users making use of OpenSSL version 3 and higher. Improved algorithms include SHA256, AES, HmacSHA256, and CHACHA20.
@pshipton @jasonkatonica @vijaysun-omr @cjjdespres @thallium @JasonFengJ9 @fengxue-IS - Can we finalise this content?
Since the 0.41 release is for Java 8, 11, 17, I don't think we should include the two options specific to Java 21 in the highlights. We can include them in the 0.42 highlights.
Since the 0.41 release is for Java 8, 11, 17, I don't think we should include the two options specific to Java 21 in the highlights. We can include them in the 0.42 highlights.
@pshipton - Done. Any other changes? Can I go ahead and update the website new section?
Pls update the UseZlibNX section to mention AIX, otherwise looks good to me.
Done.
@jasonkatonica @vijaysun-omr @cjjdespres @thallium @JasonFengJ9 @fengxue-IS - I am assuming that there are no other changes and I am therefore going ahead with creating of the final document to update the release section for 0.41.0 release. Thanks!
I feel that @0xdaryl might have something to add about MethodHandle performance (I am not sure when certain changes landed exactly for that). If you can double check with him, it may be better before you go ahead.
I feel that @0xdaryl might have something to add about MethodHandle performance (I am not sure when certain changes landed exactly for that). If you can double check with him, it may be better before you go ahead.
@0xdaryl - Could you please provide your inputs for 0.41.0 release. Thanks!
A couple of enhancements that may be worthy of mentioning:
* For Java 17, the performance to invoke virtual or interface methods via MethodHandles is improved.
* The JIT inlining optimization is enhanced to improve performance of potential inlineable calls with constant arguments.
A couple of enhancements that may be worthy of mentioning:
* For Java 17, the performance to invoke virtual or interface methods via MethodHandles is improved. * The JIT inlining optimization is enhanced to improve performance of potential inlineable calls with constant arguments.
What is the meaning of inlineable calls? Is there some other term that we can use?
Is this any better?
Is this any better?
- The JIT inlining optimization is enhanced to improve performance when it selects methods with constant arguments.
Yes, much better. Thanks, Daryl!
@jasonkatonica @vijaysun-omr @cjjdespres @thallium @JasonFengJ9 @fengxue-IS @0xdaryl - I have updated the content. Please check the Performance highlights include section.
I hope I can now create the final document. Thanks!
@Sreekala-Gopakumar Based on the recent discussion here: https://github.ibm.com/runtimes/javanext/issues/392
Can we update the following text:
Performance of algorithms is enhanced with the use of OpenSSL version 3 and later. Improved algorithms include SHA256, AES, HmacSHA256, and CHACHA20.
with this instead?
Performance of algorithms is enhanced with the use of OpenSSL version 3 and later. Improved algorithms include SHA256, AES, GCM, HmacSHA256, and CHACHA20. We recommend users run with OpenSSL 3.0.12 or later.
What if we write "Performance of algorithms is enhanced with the use of OpenSSL version 3 and later (OpenSSL version 3.0.12 or later on platforms where OpenSSL is not bundled with Semeru)."
How about:
Performance of algorithms is enhanced with the use of OpenSSL version 3 and later. Improved algorithms include SHA256, AES, GCM, HmacSHA256, and CHACHA20. We recommend users run with OpenSSL 3.0.12 or later on Linux and AIX to obtain these improvements since OpenSSL is not bundled with the Semeru JDK on those platforms.
As per IBM style, we should not "recommend" anything to the users. Can we say "To obtain these improvements on Linux and AIX, use OpenSSL version 3.0.12 or later because OpenSSL is not bundled with the Semeru JDK on those platforms."
@pshipton - Shouldn't we add this in the OpenJ9 document as well?
Yes we can.
I am fine with the wording in https://github.com/eclipse-openj9/openj9-website/issues/358#issuecomment-1782694393 Thanks @Sreekala-Gopakumar
As I mentioned in https://github.com/eclipse-openj9/openj9-website-publish/pull/6#issuecomment-1783124189, we can mention both "3.0.12, 3.1.4" since both these versions contain the fix. If we just mention 3.0.12, then 3.1.0 may be considered a "later" version.
Published. (22 Nov, 2023)
What's New update for the website, for 0.41.0 (October 2023)