Jean-Philippe Bempel
@jpbempel.bsky.social
670 followers 91 following 16 posts
Sr Sw Eng @Datadoghq, optimize software running on JVM. Love performance topics and mechanical sympathy supporter. Java Champion & @javamissionctrl committer
Posts Media Videos Starter Packs
Pinned
jpbempel.bsky.social
New blog post: Chasing a Metaspace leak

#OpenJDK #Metaspace #MemoryLeak #Instrumentation
jpbempel.github.io/2023/12/01/m...
Reposted by Jean-Philippe Bempel
bricedutheil.bsky.social
JDK Memory corruption on AArch64 Byte code Rewriting, this can lead to impossible branch being taken among other issues.
(via Ismael Juma on Twitter)
bugs.openjdk.org/browse/JDK-8...
#openjdk
Loading...
bugs.openjdk.org
Reposted by Jean-Philippe Bempel
cliffclick.bsky.social
youtu.be/wYO4-s8WsnA
Modules, std lib, abi, portable ELF, cffi, build systems, dependencies, project root, xtc modules, as directories, diff in “module” impls, meaning of “import”, foreign modules. Typechecking dead code? Combinatorial explosion build targets
Coffee Compiler Club, 2025_10_10
YouTube video by Cliff Click
youtu.be
Reposted by Jean-Philippe Bempel
shipilev.bsky.social
Ever seen a verbose render how a very small GC operation looks like in the context of larger safepoint? Here it is: (I need to blog about things you can see there)
Reposted by Jean-Philippe Bempel
headius.bsky.social
OMG it makes a huge difference. Without even pinning to tier 1 ("dev" mode) we have a new record base startup of 361ms on my M4 MBA. I'm playing with some other tweaks and a longer training run now.
Reposted by Jean-Philippe Bempel
Reposted by Jean-Philippe Bempel
bricedutheil.bsky.social
Today I learned that since #JDK 11, there is now in thread dumps

- cpu=... : the time the thread spent executing on the CPU.
- elapsed=... : the wall clock time passed since the thread was started.

bugs.openjdk.org/browse/JDK-8...

I’m not proud to have missed that 🤦‍♂️
Loading...
bugs.openjdk.org
Reposted by Jean-Philippe Bempel
shipilev.bsky.social
New toy, "residence graphs": tracking the compilation level for top method in the stack. On the left, normal JIT mode: compilers are busy, intp -> T2 -> T3 code is hot; T4 code slowly takes over. On the right, normal AOT+JIT (Leyden) mode: AOT code carries most of it, JIT happens to plug the holes.
Reposted by Jean-Philippe Bempel
cliffclick.bsky.social
youtu.be/q4mRNu6_lpc
C++ debugging, -Og, safepoints, adr sanitization. kefir (from scratch C compile), SCCP in Simple, graph DSL. Strict aliasing, implicit conversions. Pointer comparison. GPU Kernels DSLs (Triton, Gluon, TLX), Object layout, NUMA. Distributed random forest
Coffee Compiler Club, 2025_09_19
YouTube video by Cliff Click
youtu.be
Reposted by Jean-Philippe Bempel
gunnarmorling.dev
📝 Blogged: "Let's Take a Look at... Lower Java Tail Latencies With ZGC"

As #Java 25 got released earlier this week, I took the ZGC garbage collector for a spin, exploring how it lives up to its promise of sub-millisecond GC pause times.

👉 www.morling.dev/blog/lower-j...
Reposted by Jean-Philippe Bempel
mostlynerdless.de
With Java 25, there is finally a CPU-time profiler in the OpenJDK.

You can read more about this new profiler and some implementation details in my blog series starting with mostlynerdless.de/blog/2025/06... #java25
Java 25's new CPU-Time Profiler (1) - Mostly nerdless
Learn all about Java 25's new CPU-time profiler and why it matters in this weeks blog post from the creator himself.
mostlynerdless.de
Reposted by Jean-Philippe Bempel
jchateauunconf.bsky.social
JChateau our Unconference organized in France in the area of the Châteaux of the Loire Valley is open for registration at : www.jchateau.org/registration...
JChateau – Registration
JChateau
www.jchateau.org
Reposted by Jean-Philippe Bempel
Reposted by Jean-Philippe Bempel
stephanjanssen.be
Oracle detaches #GraalVM from the Java SE train 👀
• JDK 24 = last with Graal JIT / GraalVM in Java SE
• Native Image discontinued for #Java SE (-> Leyden)
• GraalVM team pivots to non-Java (GraalPy, GraalJS)
👉 Java devs: migrate to C2 JIT & track Leyden AOT work
blogs.oracle.com/java/post/de...
blogs.oracle.com
Reposted by Jean-Philippe Bempel
cliffclick.bsky.social
youtu.be/5YIhnjThoK4
Burning Man, boats diving between dust devils. LSP, C backend, debug info, codegen , zydis, ASM. Ryan/quxlang update - literal types, bitwise operators, keywords, functions, containers. LLVM LogicalResult. GCC and LLVM funding, Triton, Cuda, ML , Mojo
Coffee Compiler Club, 2025_09_12
YouTube video by Cliff Click
youtu.be
Reposted by Jean-Philippe Bempel
jchateauunconf.bsky.social
The date have been confirm to 04-08 march 2026, registration will open soon
Reposted by Jean-Philippe Bempel
jeptracker.bsky.social
🎓 JEP 523 moved to candidate
Title: Make G1 the Default Garbage Collector in All Environments
Type: feature
Component: hotspot / gc
See openjdk.org/jeps/523
Reposted by Jean-Philippe Bempel
tanelpoder.com
The xCapture and xtop eBPF tools are now in beta, with a demo dataset!

With a pre-recorded xcapture dataset from my dev server, now you can play with xtop "thread activity sampling" drilldown even on your laptop, without having to run xcapture yourself!

(link in replies :-)