Listen to a story of how we have dealt with 201 obstacles allowing us to run multithreaded programs natively!

One of the core Scala domains is scalable, concurrent, or parallel data processing, which typically at some point is powered by JVM Threads. However, the Scala Native - an ahead-of-time compiler and runtime for Scala, was for a long time limited to only a single thread of execution. At first glance, it might have sounded like it a not a big deal. Starting system threads is easy...but then, suddenly, you need to deal with memory models, garbage collections, synchronization, data atomicity, and many more blockers, just to provide the same semantics as JVM ensures.
Listen to a story of how we have dealt with 201 obstacles allowing us to run multithreaded programs natively!
This presentation describes the development of a financial middleware that internationally connects several ERP systems (Navision and SAP) to a cloud-based invoicing solution.
We managed to alleviate almost entirely the slowdown induced by Tapir in a web socket server. The journey towards this goal was quite insightful, and we would like to share it with you.
In this talk, we will demonstrate some elegant applications of functional programming in Scala, with even more elegant visual results - all with live code and real-time output.
Join me for a fun and possibly opinionated talk about the state of Scala and other JVM languages.