Skip to content

Switch to Eclipse OpenJ9 (to gain performance)#481

Closed
koppor wants to merge 28 commits into
mainfrom
switch-to-openj9
Closed

Switch to Eclipse OpenJ9 (to gain performance)#481
koppor wants to merge 28 commits into
mainfrom
switch-to-openj9

Conversation

@koppor

@koppor koppor commented Jan 1, 2021

Copy link
Copy Markdown
Member

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

koppor commented Jan 4, 2021

Copy link
Copy Markdown
Member Author

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

koppor commented Jan 21, 2021

Copy link
Copy Markdown
Member Author

@Siedlerchr

Copy link
Copy Markdown
Member

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

koppor commented May 7, 2021

Copy link
Copy Markdown
Member Author

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

koppor commented May 7, 2021

Copy link
Copy Markdown
Member Author

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

koppor commented Jun 23, 2022

Copy link
Copy Markdown
Member Author

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

@koppor

koppor commented Jun 23, 2022

Copy link
Copy Markdown
Member Author

Blocked by

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

@koppor

koppor commented Sep 25, 2022

Copy link
Copy Markdown
Member Author

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

koppor commented Sep 25, 2022

Copy link
Copy Markdown
Member Author

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

koppor commented Oct 12, 2022

Copy link
Copy Markdown
Member Author

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

@koppor

koppor commented Jan 9, 2024

Copy link
Copy Markdown
Member Author

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

koppor commented May 17, 2024

Copy link
Copy Markdown
Member Author

Refs JabRef#11298

koppor added 2 commits May 17, 2024 17:19
# Conflicts:
#	.github/workflows/deployment.yml
@koppor

koppor commented May 17, 2024

Copy link
Copy Markdown
Member Author

"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

koppor commented May 18, 2024

Copy link
Copy Markdown
Member Author

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

koppor commented May 21, 2024

Copy link
Copy Markdown
Member Author

Blocked by ibmruntimes/Semeru-Runtimes#3

@koppor koppor mentioned this pull request Oct 30, 2025
11 tasks
@koppor

koppor commented Oct 30, 2025

Copy link
Copy Markdown
Member Author

We should not try the "balanced" GC first - "just" switch to OpenJ9.

Should be possible with JDK25. Blocked by JabRef#14057.

I will close - we need to create another PR with "just" IBM as vendor.

@koppor koppor closed this Oct 30, 2025
@koppor koppor deleted the switch-to-openj9 branch October 30, 2025 18:37
This was referenced Jan 22, 2026
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