OpenJ9
jmh
OpenJ9 | jmh | |
---|---|---|
7 | 26 | |
3,215 | 2,016 | |
0.1% | 2.2% | |
9.9 | 6.3 | |
7 days ago | 8 days ago | |
Java | Java | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
OpenJ9
-
I have been trying to make a second server but at the moment I am getting errors does anyone know how to fix?
Source
-
OpenJDK Proposes Project Galahad to Merge GraalVM Native Compilation
I keep forgetting about J9 but they're not doing themselves any branding favors since there actually is J17 on J9 :-/ https://github.com/eclipse-openj9/openj9/blob/openj9-0.35.0/... (Also that 0.35 versioning ...)
As best I can tell, these are the docker images: https://hub.docker.com/_/ibm-semeru-runtimes
$ docker run --rm ibm-semeru-runtimes:open-11-jdk java -version
-
IBM Semeru Runtimes (Eclipse OpenJ9 JVM)
On another note, I'm still not sure if there is a viable way to microbench code running on OpenJ9. It seems that there is still no official support from JMH, at least I'm getting warnings such as "This VM is not supported by JMH. The produced benchmark data can be completely wrong". Apparently it should work, however, my results for runs on OpenJ9 show (by a large margin) much higher variance compared to Hotspot which doesn't exactly inspire confidence.
-
Increasing Performance with OpenJ9 GC Tuning - a guide
-Xjit:disableGuardedStaticFinalFieldFoldingFlat out improves performance, working around a bug in -XaggressiveEnables performance optimizations and new platform exploitation that are expected to be the default in future releases of OpenJ9. -Xmns128M -Xmnx1024MSets minimum and maximum size of the nursery for the gencon (default) GC. Having a small nursery allows garbage collection to be really fast, especially with how many short lived objects Minecraft makes. These values shouldn't need to be changed.If you want to know more about the gencon GC and its nursery and tenure zones you can find something here. -XdisableexplicitgcDoesn't allow mods to force a full garbage collection. Removes some lagspikes from misbehaving mods. -Xgc:concurrentScavengeLets gencon GC collect garbage in the background, without stopping the game thread to do it. Gives a very noticeable boost to "smoothness". -Xgc:dnssExpectedTimeRatioMaximum=95 -Xgc:dnssExpectedTimeRatioMinimum=70Lets gencon GC know that it's gotta spend most of its time cleaning up the nursery, instead of the rest of the heap. Most of the garbage is in the nursery instead of the tenure zone so this works incredibly well on modded MC.
-
IBM joins Eclipse Adoptium and offers free certified JDKs with Eclipse OpenJ9
I like this part "We continue to employ dozens of developers that work directly and openly in the Eclipse OMR and Eclipse OpenJ9 projects at GitHub. IBM doesn’t produce a separate enterprise version of OpenJ9; we don’t hold back any of the innovation in our runtime."
-
Is there any other updated implementation of the Java class library?
OpenJ9 (heavily based on OpenJDK, especially later versions): https://github.com/eclipse/openj9/blob/master/jcl/src/java.base/share/classes/java/lang/Throwable.java
-
Is Lombok in danger of becoming incompatible with future JDK's?
In 1.18.16 they "added support for compiling projects with OpenJ9". Turns out the hack to access Hotspot's sun.misc.Unsafe doesn't quite work with OpenJ9 . Oh, really? So surprising. This is exactly the reason why the OpenJDK project pushes their encapsulation agenda so hard!
jmh
- Experimenting with GC-less (heap-less) Java
-
Any library you would like to recommend to others as it helps you a lot? For me, mapstruct is one of them. Hopefully I would hear some other nice libraries I never try.
JMH for benchmarks
-
Scala collections benchmark - revisited
I would recommend using JMH instead.
- What are some advantages to Java devs learning assembly?
-
Is calling a method with reflection slower than calling a method normally? If so, by how much?
Reflection is probably very roughly between 10 and 1000 times slower. Why don't you measure it yourself using JMH?
- I benchmarked kotlin rust and go. The results will shock you , or not.
-
Need help navigating the Java ecosystem (coming from C++)
Aleksey Shipilev is another such leader, whom is especially knowledgeable about the internals of the JVM. His writings are invaluable. He is (was) the lead of the Java microbenchmark framework (JMH} which is how one would write small performance experiments in Java, and learn what really makes a difference or now.
- Are Long better than Integer as keys for a Map?
-
Threads vs Coroutines - ParallelMap Performance
In the last episode we implemented a parallelMap operation using streams, raw threads, a threadpool with futures, and coroutines. At first glance the raw threads was quickest, followed by futures, coroutines and then streams. In this, part 56 of an exploration of where a Test Driven Development implementation of the Gilded Rose stock control system might take us in Kotlin, we investigate the performance of the different functions further, in particular digging down into why coroutines seem to be slow and finding a way to speed them up. We also find a way to use a particular ForkJoinPool to run the streams code, making it as fast as the others (bar the raw threads). Frankly we only use very rough benchmarks here, with no statistical testing except 'it looks like'. That's OK for gross differences, but is highly suspect when deciding which of two similarly performant approaches is faster. For that check out JMH and you could watch my video from KotlinConf 2017
-
Just another way to run JMH benchmark with Eclipse
A few months ago, we started to use JMH in our project to test and find performance issues. The tool provides multiple modes and profilers, and we found this useful for our purposes.
What are some alternatives?
Avian - [INACTIVE] Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.
async-profiler - Sampling CPU and HEAP profiler for Java featuring AsyncGetCallTrace + perf_events [Moved to: https://github.com/async-profiler/async-profiler]
ParparVM
opentelemetry-java-instrumentation - OpenTelemetry auto-instrumentation and instrumentation libraries for Java
Error Prone - Catch common Java mistakes as compile-time errors
async-profiler - Sampling CPU and HEAP profiler for Java featuring AsyncGetCallTrace + perf_events
es4x - 🚀 fast JavaScript 4 Eclipse Vert.x
go - The Go programming language
jmurmel - A standalone or embeddable JVM based interpreter/ compiler for Murmel, a single-namespace Lisp dialect inspired by Common Lisp
Arthas - Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas
harmony - Mirror of Apache Harmony
opentelemetry-java - OpenTelemetry Java SDK