Volker Simonis
@volker_simonis
OpenJDK activist and HotSpot addict :) Work: Amazon Corretto
In the past, people without JVM knowledge tuned JVMs based on random data from the Internet. Nowadays, people without JVM knowledge and no understanding of LLMs tune JVMs based on recommendations from LLMs which were trained on the same random data. Is this progress?
Just released async-profiler 4.1 is compatible with JDK 25, adds OpenTelemetry Profiles Data format, improves Native Memory profiling and includes numerous other enhancements: github.com/async-profiler…
An airhacks.fm podcast conversation: "About Amazon Corretto" with @volker_simonis is ready to listen: adambien.blog/roller/about_a… #java #podcast #amazon #corretto #aws
🎙️☕️"Opensource and JVM Ports"--airhacks.fm podcast conversation with @volker_simonis is ready to listen: 👉 adambien.blog/roller/_openso… #java #podcast
First signs of life of Shenandoah running with Graal JIT. (Only aarch64, -coops, non-generational so far.) 🤩 github.com/oracle/graal/p…
☕️🎙️"From Predator Plants to Concordance with Java"--an airhacks.fm podcast conversation with Volker Simonis @volker_simonis is ready to listen: adambien.blog/roller/from_pr… #java #podcast #airhacks
I evaluated CPU & memory consumption of Leyden & @graalvm Native Image for a simple javac benchmark. Native Image is still much faster than Leyden for short workloads but GraalCE can be 2x slower for longer runs & only GraalEE with G1 & PGO beats HotSpot: github.com/simonis/Leyden…
You can try Lilliput 2 now with Corretto 21 nightlies of the lilliput-2 branch. downloads.corretto.aws/#/downloads?bu…
Updated JOL heapdump-estimates for the current state of JDK and Lilliput. We use this often to estimate the potential savings from migrating services to newer JVMs, special heap modes, or to Lilliput.
After several years of development, JEP 404: Generational Shenandoah GC finally landed in JDK 24! 🎉🥳🙌 Thanks @kdnilsen, @ysr1729, William Kemper, @BerndMathiske and all contributors! 🙏 bugs.openjdk.org/browse/JDK-833…
Great to see this happening! And congratulations to everyone on the team (including @kdnilsen, William Kemper and @ysr1729) who worked hard during the last few years to make this happen! Also not forgetting @bernd_mesos and @yigalatz who started and funded this project.
JEP 404: Generational Shenandoah has been proposed to target JDK 24 🥳 mail.openjdk.org/pipermail/jdk-…
Bleeding edge async-profiler builds are available here: builds.shipilev.net/async-profiler/. As usual, they are cross-compiled with the lowest glibc I managed, so they should run just about anywhere these days.
Very nice for diagnosing JVM issues or natively debugging the JVM itself!
Woot: builds.shipilev.net now ships multi-JVM builds. You can pull a single JDK bundle, and then ask for a release/fastdebug/slowdebug JVM with a launcher switch, or switch a default JVM at any time.
javac puzzler: why does an empty '--module-path' argument helps to fix a "module not found" error? Hint: understand why the last javac command in the screenshot is failing :)

Just got my first delivery of Bulgarian tomatoes this year from my "private" dealer :) Now I can start doing my Shopska again!
