Back To Schedule
Hall 1 - Expert

Thursday May 17th, 10:15-11:00

High performance Scala systems without tears

About this Session

From trading exchanges to e - commerce sites, today’s systems need be engineered for performance. We will focus on methods to improve the performance characteristics of your Scala code. We will cover ways to minimise object instantiation and GC pressure, exploit the CPU cache hierarchy through cache oblivious algorithms and show the effect of locks on performance and how to address that. We will conclude by introducing the new akka AffinityDispatcher which makes use of these ideas. All of that will be mixed-in with lots of example, bytecode and CPU perf-counter analysis and tons of fun.

Required knowledge

  • Basic knowledge of the Scala language is enough
  • Intermediate knowledge of the JVM is needed to understand some of the more advanced concepts
  • Previous experience to bytecode analysis is beneficial.

Learning objectives

  • Provide the audience with the required knowledge to identify and tackle the most common performance problems in Scala code bases.
  • Equip the audience with the techniques to perform in - depth performance analysis.
  • Show that Scala can still be expressive concise and abstract even when significant performance improvements are needed.
  • Familiarize the audience with the new Affinity dispatcher in Akka and show when it should be used.


Zahari Dichev

Zahari Dichev has worked as a trading systems developer in the City of London. Nowadays he works as a Scala consultant, helping companies with all-he-can Scala related. Passionate advocate of mechanical sympathy and contributor the the Akka Affinity dispatcher, he is interested in sharing his knowledge and views on Scala, Akka, performance and the JVM.