Performance Analysis of Kotlin Coroutines on Android in a Model-View-Intent Architecture pattern
Kshitij Chauhan, Shivam Kumar, Divyashikha Sethia, Mohammad Nadeem Alam · 2021 2nd International Conference for Emerging Technology (INCET) · 2021
Kotlin Coroutines are generalised subroutines that can suspend and resume execution freely. They exhibit lower overhead than Java Virtual Machine (JVM) Threads, making them suitable for asynchronous applications in resource-constrained environments. This paper analyses the performance of Kotlin Coroutines framework on Android and measures its benefits over JVM Threads-based concurrency framework RxJava using a novel benchmarking methodology for reliable and reproducible results. It also highlights the performance improvements enabled by Kotlin Coroutines in real-world projects by comparing two Model-View-Intent (MVI) architecture libraries MvRx (by Airbnb), and Vector (by author Chauhan, K) based on RxJava and Coroutines, respectively.