Jean-Philippe Bempel's Avatar

Jean-Philippe Bempel

@jpbempel.bsky.social

Sr Sw Eng @Datadoghq, optimize software running on JVM. Love performance topics and mechanical sympathy supporter. Java Champion & @javamissionctrl committer

679 Followers  |  92 Following  |  16 Posts  |  Joined: 24.12.2023  |  1.4501

Latest posts by jpbempel.bsky.social on Bluesky


✏️ JEP 8372760 was drafted
Title: JFR: In-Process Data Redaction
Type: feature
Component: hotspot / jfr
See openjdk.org/jeps/8372760

16.02.2026 09:24 β€” πŸ‘ 3    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Preview
Redacting Sensitive Data from Java Flight Recorder Files - Mostly nerdless Redact sensitive data from Java Flight Recorder and JVM crash logs with jfr-redact, a tool for safely sharing profiling and error files.

Redact sensitive data from Java Flight Recorder and JVM crash logs with jfr-redact, a tool for safely sharing profiling and error files:

mostlynerdless.de/blog/2026/02...

13.02.2026 11:36 β€” πŸ‘ 7    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

youtu.be/I1cdM-K7WIw
Coffee Compiler Club - IR and type representations; ptr-pairs (type classes) vs embedded types ptr (java style). LLVM vs C2 object description. Type aliasing & compiler opts. Whole lotta state-of-the-AI conversation

13.02.2026 22:15 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Writing a .NET Garbage Collector in C#β€Š - PartΒ 7: Marking handles Using NativeAOT to write aΒ .NET GC in C#. In the seventh part, we scan and update the handles during the mark phase of the garbage collection.

I published a new article in my "Writing a .NET GC in C#" series. This time, we implement a better storage for the handles, and we properly mark them during garbage collection. We also see why DependentHandles are annoying to deal with.

minidump.net/writing-a-ne...

10.02.2026 10:53 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
10+ reasons to NOT use JDK’s HttpClient Java mostly, and general tech

Using the #JDK HttpClient, or … not.
Well it depends on each one’s use cases.

blog.arkey.fr/2026/02/08/t...

10.02.2026 22:06 β€” πŸ‘ 5    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Coffee Compiler Club, 2026_01_16
YouTube video by Cliff Click Coffee Compiler Club, 2026_01_16

youtu.be/aN8-fn5sXME
Etherium interp, best? coding practices, getters, setters. Locking, old code in prod. Byzantine vs Paxos. unspec'd JSON, CSV. VMs, Cloud, Erlang, XTC, CPS, hierarchical timewheel. Interactive, gas,quotas. Concurrency, gradle. CI/CD, cbuild demo. comptime, metaprogramming

30.01.2026 23:40 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image

A free SQL explain plan visualizer tool by @datadoghq

Currently for PostgreSQL, MySQL, MSSQL and MongoDB

explain.datadoghq.com

28.01.2026 23:18 β€” πŸ‘ 14    πŸ” 8    πŸ’¬ 1    πŸ“Œ 2

✏️ JEP 8376595 was drafted
Title: Lazy Constants (Third Preview)
Type: feature
Component: core / lang
Release: 27
See openjdk.org/jeps/8376595

28.01.2026 19:23 β€” πŸ‘ 1    πŸ” 3    πŸ’¬ 0    πŸ“Œ 1
Preview
Writing a .NET Garbage Collector in C#β€Š - PartΒ 6: Mark and Sweep Using NativeAOT to write aΒ .NET GC in C#. In the sixth part, we start implementing the mark phase of the garbage collection.

After a long wait, I've finally published the sixth part in my "Writing a .NET Garbage Collector in C#" series. Today, we start implementing mark and sweep.

minidump.net/writing-a-ne...

27.01.2026 10:26 β€” πŸ‘ 11    πŸ” 6    πŸ’¬ 0    πŸ“Œ 0
Coffee Compiler Club, 2026_01_16
YouTube video by Cliff Click Coffee Compiler Club, 2026_01_16

youtu.be/c1idAa4vV54
Concurrent hashmap, malloc vs GC vs thread-local, CAS, contention, atomics, arenas, pools. Capabilities, AI search vs grep. Channels vs mutex vs coroutines vs locks vs fork-join vs NBHM. Hotswap in HS, stack editing , unwinding, dynamic code loading

24.01.2026 02:44 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image

Updated JOL and heapdump-estimates in it specifically to better support JDK 25. We use this tool to quickly glance where are the opportunities in our real services. Streaming heap dump analysis allows doing this on multi-hundred GB heap dumps. Builds: builds.shipilev.net/jol/

21.01.2026 18:27 β€” πŸ‘ 16    πŸ” 8    πŸ’¬ 0    πŸ“Œ 0
Release Loader for 4.3 (v11): Native lock profiling and latency filter Β· jvm-profiling-tools/ap-loader ap-loader v11 Fixed JfrSync #25 The following is copied from the wrapped async-profiler release by Andrei Pangin. The source code linked below should be ignored. v4.3 Features #1547: Native lock...

Async-profiler has released an update that includes native lock profiling and a latency filter. Consequently, ap-loader, which wraps async-profiler in a platform-independent JAR, has also been updated: github.com/jvm-profilin...

21.01.2026 08:50 β€” πŸ‘ 2    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Reading and Writing JFR Files Programmatically - Mostly nerdless JFR is great, but do you know how to read and write JFR files programmatically? Learn more in this week's blog post.

JFR is great, but do you know how to read and write JFR files programmatically? Learn more in this week's blog post: mostlynerdless.de/blog/2026/01...

19.01.2026 07:43 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
How a 40-Line Fix Eliminated a 400x Performance Gap | QuestDB A deep dive into an OpenJDK commit that replaced slow /proc file parsing with a single syscall, revealing obscure Linux kernel internals and a 20-year-old optimization opportunity.

I did some OpenJDK commit exploration and I thought I could blog about it too. Here it is: questdb.com/blog/jvm-cur...

13.01.2026 23:43 β€” πŸ‘ 4    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0

youtu.be/THGQWjxk0zU
Rust borrow checker co/contra variant, handles. Mojo lifetimes. Optimizing a dataflow graph, speedup Sea of Nodes. Compiler & IR design choices, SSA. LLVM, Frontends, Functional programing. Scheduler, map implementation, mutexes, non-blocking, threads

10.01.2026 20:15 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Coffee Compiler Club, 2026_01_2
YouTube video by Cliff Click Coffee Compiler Club, 2026_01_2

youtu.be/k1oMyH9jljA
CCC Concurrency, race conditions, graph traversal, futures. Simple update, static global data, separate compile, compile-time exec, std lib, errors. Chapter 25, elf writer, in-mem linking & exec. War stories. Hashgraph. Ryan bug fix, conc hashmap

04.01.2026 18:22 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Quickly Inspect your Java Application with JStall - Mostly nerdless Learn about JStall, a tool that helps you quickly answer the question: "What is my Java application doing right now?"

I hope I'm not the only one who sometimes wonders: "What is my Java application doing right now?" When you don't see any output. This is where my tiny tool called JStall comes in, as you can read in my blog post at mostlynerdless.de/blog/2025/12...

30.12.2025 11:11 β€” πŸ‘ 17    πŸ” 10    πŸ’¬ 1    πŸ“Œ 1

youtu.be/nyOR3H9txP4
No google emails, hashgraph, smart contracts, GC, Ethereum. Foreign langs and programming. Build systems, deterministic build, concurrent builds, mail providers.

19.12.2025 21:01 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Mount Mayhem at Netflix: Scaling Containers on Modern CPUs

14.12.2025 16:16 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Don't use Arrays or other Complex Types in Custom JFR Events - Mostly nerdless Learn about arrays and complex types in custom JFR events and about all the supported field types in this weeks blog post.

In this week's blog post, you'll learn that JFR doesn't like arrays in other complex types as fields in custom JFR events, and what types are supported: mostlynerdless.de/blog/2025/12...

12.12.2025 07:49 β€” πŸ‘ 3    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Preview
How to dump function symbols from aΒ .pdb file Detail how to write a tool that generates aΒ .sym file listing functions symbols with their address, size and signature from aΒ .pdb file

I just implemented a tool accepting a .pdb file to generate a .sym file listing functions symbols. A first post (chnasarre.medium.com/9826fd4f251e...) shows the coding details.
I'm sharing my vibe coding experience using Cursor in a second longer one (chnasarre.medium.com/f957106a3e9f...)

08.12.2025 10:33 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
One Positive Effect of Java 25 with Compact Object Headers Enabled Measuring the memory cost of ArrayList and Eclipse Collections FastList

My latest blog: One Positive Effect of Java 25 with Compact Object Headers Enabled

donraab.medium.com/one-positive...

05.12.2025 04:50 β€” πŸ‘ 6    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
localhost:7071/classes of my meta-agent

localhost:7071/classes of my meta-agent

I'm happy to announce that my meta-agent (a Java agent that instruments other Java agents) now has a nicer Web UI (thanks @hardcoding.fr):

github.com/parttimenerd...

02.12.2025 15:07 β€” πŸ‘ 7    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

C2: create better fill and copy benchmarks, taking alignment into account

bugs.openjdk.org/browse/JDK-8...
github.com/openjdk/jdk/...

…interesting and informative discussions

Via @forked-franz.bsky.social on twitter x.com/forked_franz...

27.11.2025 08:44 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
CFR - yet another java decompiler - What about finally?

TIL: Early exit makes 'javac' to duplicate 'finally' blocks. Interesting read: www.benf.org/other/cfr/fi...

27.11.2025 08:01 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Help--my LocalDate isn’t flattened! Just before my Valhalla talk at JFall, I found out that the early access build can flatten LocalDate arrays, but the latest version from Github cannot. Why? Serialization, of course. Read the gory details at https://horstmann.com/un...

10.11.2025 06:52 β€” πŸ‘ 6    πŸ” 7    πŸ’¬ 0    πŸ“Œ 1
Coffee Compiler Club, 2025_11_14
YouTube video by Cliff Click Coffee Compiler Club, 2025_11_14

youtu.be/Z3OJ0K5fReA
C++ Compile times. Ethereum byte code and runtime. Java and exceptions; more C++ compile times. Fat binaries & code portability. Language design around memory safety

16.11.2025 00:12 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Latency Profiling and Optimization - Dmitry Vyukov
About Dmitry Vyukov Dmitry is a Principal Software Engineer at Google. He works on dynamic analysis tools for C/C++ (like Address/Memory/ThreadSanitizer), similar tools for the Linux kernel, and… Latency Profiling and Optimization - Dmitry Vyukov

Latency Profiling and Optimization

14.11.2025 07:26 β€” πŸ‘ 0    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

✏️ JEP 8371379 was drafted
Title: Deprecate the UTF-16-only Internal String Representation
Type: feature
Component: core / lang
See openjdk.org/jeps/8371379

05.11.2025 23:50 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 1    πŸ“Œ 1

🎯 JEP 526 proposed to target JDK 26
Title: Lazy Constants (Second Preview)
Type: feature
Component: core / lang
Release: 26
See openjdk.org/jeps/526

30.10.2025 18:50 β€” πŸ‘ 2    πŸ” 3    πŸ’¬ 0    πŸ“Œ 1

@jpbempel is following 20 prominent accounts