Talk Details

How many times have you implemented a clever performance improvement, and maybe put it in production, because it seemed the right thing™ to do, without even measuring the actual consequences of your change? And even if you are measuring, are you using the right tools and interpreting the results correctly? During this workshop we will use a real-world example, the new virtual threads friendly Jackson objects pool used in Quarkus, to demonstrate how through incremental steps we measured and improved its performances in a highly concurrent environment. We will illustrate how we used JMH for this purpose, explaining why it is the only reliable tool to be used when benchmarking Java applications, how to avoid the most common pitfalls and how to leverage its features to develop meaningful and useful benchmarks.
Mario Fusco
Red Hat
Mario is a senior principal software engineer at Red Hat working as Drools project lead. Among his interests there are also functional programming and Domain Specific Languages. He is also a Java Champion, the JUG Milano coordinator, a frequent speaker and the co-author of "Modern Java in Action" published by Manning.
Francesco Nigro
Red Hat
I've been working for many years in the computer field. In the last +10 years I've cultivated a strong passion in Java development and the under the hood details of OpenJDK, recently joined by C and (x86) ASM.
Big fan of DDD (Domain Driven Design) world, I've developed several Event-Sourcing high performance solutions in the medical and IoT field.
I'm an active member of various online communities on performance (https://groups.google.com/forum/#!forum/mechanical-sympathy), Principal (Software) Performance Engineer and Performance Lead for Red Hat on Quarkus, Red Hat Top Inventor (2019).
I've collaborated to different projects related high-performance computing both as committer and contributors eg Quarkus, Vert-x, Netty committer, JCTools author, PMC of ActiveMQ Apache Artemis (Messaging Broker), HdrHistogram, JGroups-raft, ...