A tale of how we did channel algorithm in Kotlin Coroutines

Day 1 /  / Track 2  /  RU / Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer.

Most programming languages are introducing mechanics of asynchronous programming. Kotlin, for its part, implemented coroutines which use channels to connect with each other. Therefore, high-load applications depend on performance of those channels, which need to be implemented in an effective and scalable way.

In this talk, we'll discuss which channel algorithms other programming languages and libraries use, how we in Kotlin develop our own solution, which challenges and subtle aspects we encounter in the process and what we managed to achieve.

Download presentation
Nikita Koval
JetBrains & IST Austria

Nikita works on algorithms for coroutines in the Kotlin team and has been getting a PhD at IST Austria. In addition, he teaches a course on concurrency programming at ITMO University and is interested in program analysis and verification.