Speaker Details

Dmytro Vyazelenko
Safepoint Ost GmbH

Independent consultant working on Aeron (https://aeron.io/) and helping organizations solve their Java performance issues. Public speaker and disorganizer of the JCrete and JAlba unconferences.

Designing for low latency is hard. We need principles to help us navigate the performance landscape. I'll present here a ranked set of guidelines to lead you through the maze of trade-offs that you will meet in designing a low latency application:
1. No Garbage – none, really?
2. Natural Batching and why you need it.
3. Threads are evil.
4. No exceptions!
5. The Single Writer Principle.
6. Sharing isn’t caring.
7. Good programmers copy, great programmers … don't.
We'll look at the implementation of these principles in the Aeron messaging system and the measured benefit of using them.
Applying these principles to the design of any application – low latency or otherwise – will result in a less complex, more efficient, more maintainable system.