A Walk Along the Complexity-Performance Curve

QCon London 2024

Session performance

A Walk Along the Complexity-Performance Curve

Monday Apr 8 / 10:35AM BST, Mountbatten (6th Fl.)

Abstract

Software performance and complexity are related. It’s common for refactoring to introduce unanticipated regressions, and for performance optimisations to attract scrutiny in code review; how much performance improvement is worth a perceived loss of readability?

This presentation explores the relationship between complexity and performance through the lens of recent improvements to the Java String class, visiting continuous profiling and some assembly code along the way.

Interview

I am currently working on a continuous profiling product that helps our users pinpoint and analyze performance problems and cost optimization opportunities.

To help the audience understand the different phases of code optimization, which tools to use to analyze problems in each phase, and the complex implications of taking action in each phase.

There will be something in this talk for a range of personas, so long as they are interested in Java/the JVM; for example, it will include an analysis of instruction profiles later on in the talk, which some may find enlightening, but this talk may not appeal to hardcore performance engineers. I would like to reach an audience that is suspicious of performance optimization or lacks knowledge and put different levels of optimization into context. 

Be careful specifying public interfaces, which may constrain performance later, because solutions to constrained performance problems can be much more complex and require you to be aware of where your bottlenecks are at all times.

Topics

performance Profiling Java
76% senior dev or higher
1:11 speaker ratio
60+ practitioners

QCon London 2024 is a three day conference for senior software engineers, architects and team leads. An international program committee of working engineers selects every session. Patterns and practices, not products and pitches.

Share

From the same track

Monday 8 April

10:35 Mountbatten (6th Fl.) Session performance A Walk Along the Complexity-Performance Curve Richard Startin Senior Software Engineer @Datadog 11:45 Windsor (5th Fl.) Session Linux kernel Opening the Box: Diagnosing Operating-System Task-Scheduler Behavior on Highly Multicore Machines Julia Lawall Senior Scientist @INRIA 13:35 Windsor (5th Fl.) Session Pitfalls of Unified Memory Models in GPUs Joe Rowell Founding Engineer @poolside.ai, Low-Level Performance Engineer, Cryptographer and PhD Candidate @RHUL 14:45 Rutherford (4th Fl.) Unconference Unconference: Performance Engineering Unleashed 15:55 Windsor (5th Fl.) Session Practical Benchmarking: How To Detect Performance Changes in Noisy Results Matt Fleming CTO @Nyrkiö, Former Linux Kernel Maintainer @Intel and @SUSE 17:05 Windsor (5th Fl.) Session Panel: What Does the Future of Computing Look Like Julia Lawall, Matt Fleming, Joe Rowell