u/O1ivePizzain r/Kotlin • Recommends
On “Is it a good idea that I'm trying to learn multithreading in Java before I can fully grasp how Coroutine works in Kotlin?”
236K subscribers • 29 videos on Hallway
Advanced. Deep dive for people who know the field.
95K views8 years ago7 recommendations
Programming languagesSystems programmingKotlinConcurrency and parallelismLanguage design and type systems
Roman Elizarov explains the design, JVM implementation, and bytecode generation of Kotlin coroutines.
In this talk, we perform a deep dive into the design and implementation of Kotlin coroutines for those who like to understand it down to the bottom. What were the design goals of the Kotlin coroutines and how are they implemented on JVM? What is the difference between CPS and CSP? What concept stands behind the suspending functions in Kotlin and how are they represented on JVM? What exactly happens when you launch coroutines and how much actual overhead do they have? Can you use Kotlin coroutines from Java? This talk answers these and other coroutine-related questions, showing and explaining the corresponding byte code that is produced by the Kotlin compiler with code samples and benchmarks. Roman Elizarov is a professional software developer with more than 16 years experience. He started his career at Devexperts, where he designed and developed high-performance trading software for leading brokerage firms and market data delivery services that routinely handle millions of events per second. He is an expert in Java and JVM, particularly in real-time data processing, algorithms and performance optimizations for modern architectures. Roman currently works on the Kotlin language at JetBrains. Having worked on very large systems comprising of many modules written in different languages, he has a dream of a single language that can be used to write all parts of a very large distributed system, to share and reuse data models and algorithms without friction. Kotlin with JVM and JS backends and the upcoming native compiler is the ideal candidate to realize this dream. In 2000 Roman had graduated from St. Petersburg ITMO. He now teaches a course on concurrent and distributed programming in ITMO. During his undergraduate study, he participated at ACM International Collegiate Programming Contest (ICPC). Since 1997 and until now Roman serves as a Chief Judge of Northeastern European Regional Programming Contest (NEERC) of ACM ICPC.What people say. Highly recommended as an essential deep dive into how Kotlin coroutines work under the hood.
u/O1ivePizzain r/Kotlin • Recommends
On “Is it a good idea that I'm trying to learn multithreading in Java before I can fully grasp how Coroutine works in Kotlin?”
u/Matthiskin r/Kotlin • Recommends
On “Kotlin Under the Hood: Understand the Internals (Google I/O'19)”
u/DoListeningin r/Kotlin • Recommends
On “Explore How Kotlin Coroutine Works Under The Hood”
u/i_dont_know_him_manin r/Kotlin • Recommends
On “Resources on coroutines”
u/spork_kingin r/Kotlin • Recommends
On “Best resources on kotlin coroutines?”
u/O1ivePizzain r/Kotlin • Recommends
On “is coroutine suitable for background services?”
u/withoutclassin r/Kotlin • Recommends
On “Explicit concurrency – Roman Elizarov”
u/hackometerin r/Kotlin • Recommends
On “Looking for a good resources to learn about kotlin concurrency model and coroutines”
u/koreyeczin r/Kotlin • Mentions
On “Hey #Kotliners💡, ever wondered how #Coroutines work under the hood?🤔 Cool! This November, Mohit Sarveiya (Android GDE) will dissect 🗡️ coroutines and take us through some of the lesser known and advanced features of #Kotlin coroutines! RSVP”
u/Wurstinatorin r/Kotlin • Mentions
On “understand coroutines-implementation in kotlin-compiler”