Kirk Pepperdine

Kirk Pepperdine

Principle Java Engineer - Microsoft


Kirk Pepperdine has been performance-tuning Java applications for more than 20 years.  

He has been performance tuning Java applications for more than 20 years. He got started working along side Jack Shirazi. Together they authored the first full workshop on Java Performance Tuning and was also involved in the launching of 

Since then he has written many article and spoken at many conferences and user groups about performance tuning Java applications. 

In 2006, Kirk  was named a Java Champion for his voice in the performance tuning space and in  2008 he created the first iteration of a Java performance tuning methodology (JPDM).  

In 2012, the JClarity was founded, where he built a diagnostic tool that was based on the JPDM methodology. 

Kirk is currently employed as a principal engineer in the Java Engineering Group at Microsoft. 


Workshop Day – 15th of May:     Java Performance Tuning Workshop 

Diagnosing the root cause of performance regressions has always been thought of as a dark art, a talent that seemingly few people possess. But it doesn’t have to be this way. In this hands-on workshop we’ll look at a Performance Diagnostic Methodology that will add structure to the activity.  

Adding structure will reduce the time and costs to diagnose performance issues and improve the accuracy of your diagnosis.  

This workshop will explain how the jPDM (Performance Diagnostic Methodology) can help you structure your performance investigations so that you can quickly and easily identify the root causes. The workshop will involve you working through some problems with the goal of providing you with a deeper understanding of jPDM. We will also look at some tools that will give you insight into the inner workings of both the JVM and your application. Bring your laptops! Bring your performance issues! 

  1. Failing project case study 
  2. The different layers of performance 
  3. Model for diagnosing performance issues 
  4. Sensible Observability 
  5. Tooling to support the diagnostic process 
  6. Short word on benchmarking 
  7. Java Memory Management Topics 
  8. Profiling 
  9. Hands on Exercises 


Presentation 1: Memory Efficient Java 

In survey after survey that asks developers – what is your biggest performance bottleneck, it is rare that memory is high on the list if it’s on the list at all.  

In contrast, the performance of about 60% of all the applications are bounded by memory.  Furthermore, resolving this problem can improve performance by several 100s of %. What makes memory inefficiency tricky to spot is that it gets hidden by other problems it has created. For example, Garbage Collection is often aggravated by memory inefficiency where the common solution is to allocate more memory. This can dramatically increase the cost of hosting an application.  

This session will cover the source of the problem and then dive into how to recognise and diagnose it. 


Presentation 2: So you want to create your own startup 

 In 2012, three of my friends and I sat in a lawyers office in London where we went through the initial steps of creating our own startup.

Sitting in the office, we knew little about what we were doing or where we were going. Some how, we beat the odds when in August of 2019, we closed the sale of our creation to Microsoft. This is the story about the things that gave us grief, of our shared highs and lows, our good and not so good decisions, and breaks and bad luck. I’ll tell this story in hopes that you’ll find it useful should you decide to travel down the same path.


Java Panel

Kirk will also be one of the facilitators in the Java Panel.