Crushing latency and getting the most out of your hardware.
Track: Bare Knuckle Performance
Location: St James, 4th flr.
Day of week: Tuesday

Track Host: Monica Beckwith
Java Champion Monica Beckwith is considered a subject matter expert, has several published articles and gets regular invitations to give talks on JVM/JIT Compilation/Garbage Collection (GC). She is also a JavaOne Rock Star.
Monica has made various performance contributions to the Java HotSpot VM by identifying the need for a NUMA-aware allocator and allocation patterns, reduction of redundant instructions, reduction of the Java object header, prefetching patterns, redundant array checks in a loop and various other optimizations for the JIT compiler, the generated code, the JVM heuristics and garbage collection and collectors.
Prior to joining Microsoft, Monica was the JVM Performance Architect at Arm. Her past also includes leading Oracle’s Garbage First Garbage Collector performance team.

Track Host: Werner Schuster
Werner Schuster (@murphee) sometimes writes software, sometimes interviews folks about software. His recent interests are languages, performance optimisation, monitoring, and how to make software suck less using computer science research.
10:35am - 11:25am
Quarkus
There’s a radical advance in Java development waiting for you, right here. Why is everyone excited about Quarkus? Does it really produce sub-atomic applications? Is it an exaggeration to say it boots at “supersonic” speed?
If you wonder how these figures are even possible, this is the session for you: we’ll see it in action, empower you to repeat the tests yourself, and explain how it works.
Costs of cloud infrastructure, Continuous Delivery, Kubernetes, reactive scalability, microservices… all are pushing for a radical redesign of our favourite platforms, of our deployment models. But is it possible to keep using the battle-tested libraries we have experience with? To keep programming with the APIs we’re familiar with? To keep benefitting from the JVM? What about the standards we all invested in?
Come join us and learn how Quarkus can make this all happen, either by leveraging high density deployments via GraalVM native images, or by targeting the traditional JVM: in both cases we’ll push the efficiency bar to the extreme.
11:50am - 12:40pm
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Inline(value) types are the key part of experimental project Valhalla which should bring new abilities to Java language. It's a story not only about performance, it's also a story about safety, abstraction,expressiveness, maintainability, etc. But on this session we will talk about performance. Which performance benefits inline types bring to Java and how we could exploit it.
2:55pm - 3:45pm
Maximizing Applications Performance with GraalVM
GraalVM is a high-performance virtual machine offering new optimizations for individual languages and seamless interoperability for polyglot applications. One of the interesting features one can get with GraalVM is the freedom to choose between JIT and AOT compilation modes. This way you can optimize for different performance metrics, employing proper developer tools, and selecting the best language libraries for the job.
In this session, we'll go through optimization strategies for the most common cases, discuss benefits and trade-offs of each case, and discuss what the latest project updates, such as Java 11 support and the GraalVM 20.0 major release, can offer for speeding up your applications. We'll also take a look at how to make real-world applications GraalVM-ready, and how languages like JavaScript, Ruby, R and Python can also benefit from GraalVM.
4:10pm - 5:00pm
Understanding CPU Microarchitecture to Increase Performance
Microprocessors have evolved over decades to eke out performance from existing code. But the microarchitecture of the CPU leaks into the assumptions of a flat memory model, with the result that equivalent code can run significantly faster by working with, rather than fighting against, the microarchitecture of the CPU.
In this talk, Alex Blewitt will present the microarchitecture of modern CPUs, showing how misaligned data can cause cache line false sharing, how branch prediction works and when it fails, how to read CPU specific performance monitoring counters and use that in conjunction with tools like perf and toplev to discover where bottlenecks in CPU heavy code live. We’ll use these facts to revisit performance advice on general code patterns and the things to look out for in executing systems. The talk will be language agnostic, although it will be based on the Linux/x86_64 architecture.
5:25pm - 6:15pm
Performance vs. New Features: It Doesn’t Have to Be a Zero-Sum Game
In this talk we'll explore implementing CRC checksums for a durable log while trying to retain respectable performance. We'll discuss motivations for applying checksums and explore how convoluted this process can be. We need to deal with missing/convoluted APIs to get the basics working. Then to complete your feature, you still need to consider the performance implications of your design. We'll tie things together with highlighting how a new feature can amplify the call to revisit performance of an overall design.
Last Year's Tracks
Monday, 2 March
-
Next Generation Microservices: Building Distributed Systems the Right Way
Microservice-based applications are everywhere, but well-built distributed systems are not so common. Early adopters of microservices share their insights on how to design systems the right way.
-
Streaming Data Architectures
Today's systems process huge volumes of continuously changing data. Hear how the innovators in this space are designing systems and leveraging modern data stream processing platforms.
-
Driving Full Cycle Engineering Teams at Every Level
"Full cycle developers" is not just another catch phrase; it's about engineers taking ownership and delivering value, and doing so with the support of their entire organisation. Learn more from the pioneers.
-
When Things Go Wrong: GDPR, Ethics, & Politics
Privacy, confidentiality, safety and security: learning from the frontlines, from both good and bad experiences
-
JavaScript: Pushing the Client Beyond the Browser
JavaScript is not just the language of the web. Join this track to learn how the innovators are pushing the boundaries of this classic language and ecosystem
-
Modern CS in the Real World
Head back to academia to solve today's problems in software engineering.
Tuesday, 3 March
-
Architectures You've Always Wondered About
Hard-earned lessons from the names you know on scalability, reliability, security, and performance.
-
The Future of the API: REST, gRPC, GraphQL and More
The humble web-based API is evolving. This track provides the what, how, and why of future APIs.
-
Building High Performing Teams
There are many discussions outlining the secret sauce of high-performing teams. Learn how to balance the essential ingredients of high performing teams such as trust and delegation, as well as recognising the pitfalls and problems that will ruin any recipe.
-
Machine Learning: The Latest Innovations
AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice.
-
Bare Knuckle Performance
Crushing latency and getting the most out of your hardware.
-
Modern Compilation Targets
Learn about the innovation happening in the compilation target space. WebAssembly is only the tip of the iceberg.
Wednesday, 4 March
-
Growing Unicorns in the EU: Building, Leading and Scaling Financial Tech Start Ups
Learn how EU FinTech innovators have designed, built, and led both their technologies and organisations.
-
Kubernetes and Cloud Architectures
Learn about cloud native architectural approaches from the leading industry experts who have operated Kubernetes and FaaS at scale, and explore the associated modern DevOps practices.
-
Chaos and Resilience: Architecting for Success
Making systems resilient involves people and tech. Learn about strategies being used, from cognitive systems engineering to chaos engineering.
-
Leading Distributed Teams
Remote and distributed working are increasing in popularity, but many organisations underestimate the leadership challenges. Learn from those who are doing this effectively.
-
Scaling Security, from Device to Cloud
Implementing effective security is vitally important, regardless of where you are deploying software applications
-
Evolving Java
JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track.