Skip to content
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

Switch to Eclipse OpenJ9 (to gain performance) #481

Draft
wants to merge 28 commits into
base: main
Choose a base branch
from
Draft

Conversation

koppor
Copy link
Owner

@koppor koppor commented Jan 1, 2021

Background and Motivation

Eclipse OpenJ9 is a JVM developed by IBM since the 90s. It has superior performance compared to Oracle's JVM: https://www.eclipse.org/openj9/performance/

grafik

We should give it a try in JabRef, too.

TODOs

Changes


  • Change in CHANGELOG.md described (if applicable)
  • Tests created for changes (if applicable)
  • Manually tested changed features in running JabRef (always required)
  • Screenshots added in PR description (for UI changes)
  • Checked documentation: Is the information available and up to date? If not created an issue at https://github.com/JabRef/user-documentation/issues or, even better, submitted a pull request to the documentation repository.

@koppor
Copy link
Owner Author

koppor commented Jan 4, 2021

@koppor koppor closed this Jan 4, 2021
@koppor koppor reopened this Jan 21, 2021
# Conflicts:
#	.github/workflows/deployment.yml
@koppor
Copy link
Owner Author

koppor commented Jan 21, 2021

@Siedlerchr
Copy link
Collaborator

As we are now at java 16 this can be closed right?

# Conflicts:
#	.github/workflows/check-outdated-dependencies.yml
#	.github/workflows/deployment.yml
#	.github/workflows/refresh-journal-lists.yml
#	.github/workflows/tests-fetchers.yml
#	.github/workflows/tests.yml
@koppor
Copy link
Owner Author

koppor commented May 7, 2021

As we are now at java 16 this can be closed right?

No. The first two paragraphs of the PR description still remain valid:

Eclipse OpenJ9 is a JVM developed by IBM since the 90s. It has superior performance compared to Oracle's JVM: https://www.eclipse.org/openj9/performance/

We should give it a try in JabRef, too.

@koppor
Copy link
Owner Author

koppor commented May 7, 2021

Blocked by:

D:\a\jabref\jabref\build\jlinkbase\tmpjars\org.jabref.merged.module\module-info.java:1446: error: module not found: jdk.jfr
    requires jdk.jfr;
                ^
1 error

@koppor koppor changed the title Switch to Eclipse OpenJ9 JDK v15 Switch to Eclipse OpenJ9 (to gain performance) May 8, 2021
@koppor
Copy link
Owner Author

koppor commented Jun 23, 2022

OpenJ9is now officially supported by setup-java: https://github.com/actions/setup-java#supported-distributions

@koppor
Copy link
Owner Author

koppor commented Jun 23, 2022

Blocked by

Error: jdk.internal.org.objectweb.asm.MethodTooLargeException: Method too large: jdk/internal/module/SystemModules$all.moduleDescriptors ()[Ljava/lang/module/ModuleDescriptor;

@koppor
Copy link
Owner Author

koppor commented Sep 25, 2022

Google found https://bell-sw.com/announcements/2022/06/28/hotspot-vs-openj9-performance-comparison/

The experiment results are similar on all tested platforms and demonstrate that Liberica JDK with
configured HotSpot is comparable to or better than OpenJ9.
t is worth noting that the default HotSpot gives much lower latency and higher throughput than OpenJ9 on a server-class node

However, OpenJ9 can be configured even more, which was not done by the Liberica-Persons. See https://www.eclipse.org/openj9/docs/openj9_newuser/.

@koppor
Copy link
Owner Author

koppor commented Sep 25, 2022

Other comment - from https://www.reddit.com/r/java/comments/ga1m4f/comment/fp1fsic/?utm_source=share&utm_medium=web2x&context=3

Here you have a situation of the team that's least familiar with OpenJDK, least engaged, and contributing the least also happens to be the only one doing something extremely misleading (the similarity of the OpenJ9 SDK and OpenJDK is less than 60%) and explicitly forbidden.

@koppor
Copy link
Owner Author

koppor commented Oct 12, 2022

Current build blocked by https://bugs.openjdk.org/browse/JDK-8240567

@koppor
Copy link
Owner Author

koppor commented Jan 9, 2024

OMG (1), they switched their distribution "name" (and kind) -- eclipse-openj9/openj9#15060

OMG (2), they do not have any JDK21 build released to SDKMan (yet).

@koppor
Copy link
Owner Author

koppor commented May 17, 2024

Refs JabRef#11298

# Conflicts:
#	.github/workflows/deployment.yml
@koppor
Copy link
Owner Author

koppor commented May 17, 2024

"semeru" is the packaging of OpenJ9 (see https://developer.ibm.com/languages/java/semeru-runtimes/downloads/). It is available as IBM at the toolchains - https://github.com/gradle/foojay-toolchains

@koppor
Copy link
Owner Author

koppor commented May 18, 2024

Current build - on macOS:

Error: Hash of java.rmi (03f539ebf91c81cfc7a81236d2c1109e0d050c839d03c6f757022b99a10cb819) differs to expected hash (07126a5cefcc6c19d9059cfa4b42ec832f3714a1ef89f103afc2d1ab61b79bc7) recorded in java.base

Asked at https://openj9.slack.com/archives/C862YFGL9/p1716031780540649

@koppor
Copy link
Owner Author

koppor commented May 21, 2024

Blocked by ibmruntimes/Semeru-Runtimes#3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants