🔥 Part 2 of my Jeffrey series on DZone — differential flame graphs.
Set a secondary profile and diff two recordings in one graph: red = regression, green = improvement, deep shades = frames that only exist on one side. No more eyeballing two graphs.
dzone.com/articles/java-diff… #Java
🔥 New on DZone — part 1 of my Jeffrey series, an open-source performance analyzer for Java.
Spin up Microscope, drop in a recording, read the flame graph: CPU, allocation, wall-clock. Plus "Copy for AI" to hand hot paths to an LLM.
dzone.com/articles/jeffrey-j… #Java
🔥 Jeffrey 0.5 is HERE! 🔥
✨ Big Upgrade of Java performance detective. Ready to level up your Java performance game?✨
Look at the current features:
jeffrey-analyst.cafe/#featur…
See it in action:
jeffrey-analyst.cafe/#/tour-…
#Java #Performance #JFR #OpenJDK
No longer here: please, follow me on bsky.app/profile/pbouda.bsky…
Petr Bouda retweeted
🚀 Jeffrey 0.4 - Native Memory Leaks 🚀
jeffrey-analyst.cafe/posts/0…
Petr Bouda retweeted
🚀 Jeffrey 0.3 Anouncement 🚀
Try it out and give feedback.
Plenty of new features, some of them are experimental that wait for your real workloads!
Guardians / Wall-Clock / Thread View / and others
jeffrey-analyst.cafe/posts/0…
Petr Bouda retweeted
I regret to inform the community that since my own house was destroyed by russians who invaded my country, Wasm3 has entered a minimal maintenance phase.

ALT At this time, I am unable to continue the development of new features. However, I am committed to keeping the project alive and will actively review and merge incoming Pull Requests. I deeply appreciate your understanding and support during this difficult period. Your contributions to Wasm3 are now more valuable than ever.
Petr Bouda retweeted
📢 It's here! The second edition of my book "Performance Analysis and Tuning on Modern CPUs" is out NOW!
Dive into low-level optimizations and learn to write fast code like a pro.
Grab your copy: amzn.to/4fsroBs
Please RT to spread the word!
#NewBook #BookRelease
🧵1/3
Petr Bouda retweeted
Replying to @p_bouda @richardstartin
github.com/async-profiler/as…
This is what async-profiler does (with -e cpu) and there, what's the kernel does with that SW event (which means -> skidding without PEBs help)
Petr Bouda retweeted
JEP 450 is not the end of Project Lilliput, btw. We are already busy working on 4-byte headers (down from 12 bytes). In-fact we already have a fully-working prototype. ☺️
And ... it's landed! 🥳🥳
Thank you for your patience!
And huge shout-out to @tstuefe and @stekarmatrik and all other contributors (too many to list them, check the PR) for all their help and support! 🙏🙌
Petr Bouda retweeted
🥳 JEP proposed to target JDK 24: 450: Compact Object Headers (Experimental) 🎉
mail.openjdk.org/pipermail/j…
Petr Bouda retweeted
Many JFR events don't have any descriptions, so sapmachine.io/jfrevents/ now includes code snippets from the events usage in OpenJDK:
Petr Bouda retweeted
JEP 8337789 ("CPU Time Profiling for JFR") updated: Status changed from "Draft" to "Submitted". See openjdk.org/jeps/8337789
Petr Bouda retweeted
...and it is in! Already in bleeding edge builds: builds.shipilev.net/openjdk-…
Petr Bouda retweeted
Replying to @BachorikJ @nitsanw
I've spent some time streamlining the generated code and reducing the chained calls to MethodHandles - github.com/jbachorik/jafar/p….
Now, it can do the 'benchmark' on 1.79GiB in ~2s walltime (~14s cpu time) beating all other parsers by healthy margin.
#java #jfr #jafar
Petr Bouda retweeted
My JFR Events Collection got an update: It now includes all events from JDK 23 and 24 (thank you to @p_bouda for the bug report) and uses a new version of the Renaissance benchmark suite for the example files. You can find it at sapmachine.io/jfrevents/
Hi @parttimen3rd 🙂 I'm using your fantastic toolhttps://sap.github.io/SapMachine/jfrevents, however, it looks like version 23 miss some events in comparison to 21. e.g. section `Java Application` 🙂
Petr Bouda retweeted
Younger brother of mine is growing to a powerful beast! Let me know if you have any interesting pattern consuming your resources in JFR recordings.
Petr Bouda retweeted
The trilogy of #java FFM API performance improvements is now complete in Java 24!
A while ago, we integrated github.com/openjdk/jdk/pull/… which improves the performance of MemorySegment::fill
This improves performance on all supported Java platforms, in particular on Aarch64.

















