You are viewing content from a past/completed QCon -


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.

What is the work you're doing today?

I'm running my own company and currently working on Aeron, which is a super-fast reliable UDP unicast, UDP multicast and IPC message transport. In the talk, I'm going to tell the story about adding the CRC feature to the Aeron Archive.

What are your goals for the talk?

I want to drive across the point that adding new features to the application does not have to degrade the overall performance of it, you can have both while still retaining or even improving the performance. But that might require you to rethink the overall design of your application in order to do so.

What are the key takeaways you'd like people to leave the talk with?

Good design is the key to writing performance software. The biggest wins are coming from thinking hard about the problem that you're trying to solve which leads to redesigning parts of the software to work differently and that unlocks the optimization opportunities or eliminates the bottlenecks altogether.


Dmitry Vyazelenko

Founder at Safepoint Ost

Software developer, conference speaker and a disorganizer of JCrete and JAlba unconferences, passionate about concurrency and performance.

Read more
Find Dmitry Vyazelenko at:


St James, 4th flr.


Bare Knuckle Performance


PerformanceOptimizationConcurrencyInterview Available


From the same track

UNCONFERENCE + Live Q&A Performance

Performance Open Space

Details to follow.

SESSION + Live Q&A Silicon Valley

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...

Sergey Kuksenko

Java Performance Engineer @Oracle

SESSION + Live Q&A Performance

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...

Alex Blewitt

Head of Cloud Infrastructure at Santander

SESSION + Live Q&A Performance

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...

Alina Yurenko

Developer Advocate for GraalVM @Oracle

SESSION + Live Q&A Performance


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...

Sanne Grinovero

Senior Principal Software Engineer @RedHat

View full Schedule