koppor / jabref

Collection of simple for JabRef issues. Please submit PRs to https://github.com/jabRef/jabref/.
https://github.com/jabRef/jabref/
MIT License
8 stars 15 forks source link

Switch to Eclipse OpenJ9 (to gain performance) #481

Open koppor opened 3 years ago

koppor commented 3 years ago

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


koppor commented 3 years ago
koppor commented 3 years ago
Siedlerchr commented 3 years ago

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

koppor commented 3 years ago

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 commented 3 years ago

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 commented 2 years ago

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

koppor commented 2 years ago

Blocked by

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

koppor commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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

koppor commented 9 months ago

OMG (1), they switched their distribution "name" (and kind) -- https://github.com/eclipse-openj9/openj9/issues/15060

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

koppor commented 5 months ago

Refs https://github.com/JabRef/jabref/pull/11298

koppor commented 5 months ago

"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 commented 5 months ago

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 commented 5 months ago

Blocked by https://github.com/ibmruntimes/Semeru-Runtimes/issues/3