Performance Optimization of Large-Scale Android Applications Using Kotlin Coroutines and Modern Concurrency Models
DOI:
https://doi.org/10.29284/yat5mc94Keywords:
Android, Kotlin coroutines, structured concurrency, dispatcher scheduling, mobile performance benchmarking, frame-time analysis, cancellation correctness, energy-aware computing.Abstract
Kotlin coroutines have become the default concurrency idiom for Android application development, yet most published evaluations reduce the research question to a binary claim — "coroutines are faster than threads." This blueprint proposes a workload-sensitive concurrency policy framework that selects coroutine scopes, dispatcher types, parallelism bounds, cancellation boundaries, and batching strategy as a function of measurable workload characteristics (I/O-bound, CPU-bound, or mixed). We define a reproducible five-arm benchmark (sequential baseline, fixed thread pool, bounded coroutines, structured-concurrency and an adaptive optimized policy) evaluated across six representative Android workload classes and six concurrency levels. The contribution is not a single throughput number but (1) a benchmark suite, (2) a classification-driven dispatcher-selection policy, (3) an instrumentation model linking coroutine structure to frame-time and resource telemetry, (4) a cancellation-correctness test protocol, and (5) a statistically defensible comparison methodology. Five falsifiable hypotheses are specified. The quantitative findings are intentionally left open at this stage — the value of the eventual paper depends on these experiments being run, not on this document alone.
References
[1] Android Developers, "Better performance through threading." [Online]. Available:
[2] https://developer.android.com/topic/performance/threads. Accessed: 2020.
[3] B. G. Mateus and M. Martinez, "On the Adoption, Usage and Evolution of Kotlin Features in Android Development," Proc. 14th ACM/IEEE Int. Symp. on Empirical Software Engineering and Measurement (ESEM '20), 2020, doi:
10.1145/3382494.3410676. [Online]. Available: https://doi.org/10.1145/33824 9 4.3410676
[4] D. Cotroneo, A. K. Iannillo, R. Natella, and R. Pietrantuono, "A Comprehensive Study on Software Aging across Android Versions and Vendors," Empirical Software Engineering, vol. 25, no. 5, pp. 3357-3395, 2020, doi: 10.1007/s10664-020-09838-3. [Online]. Available: https://doi.org/10.1007/s10664-020-0983 8-3
[5] J. Schuchart, C. Niethammer, and J. Gracia, "Fibers Are Not (P)Threads: The Case for Loose Coupling of Asynchronous Programming Models and MPI Through Continuations," Proc. 27th European MPI Users' Group Meeting (EuroMPI/USA '20), 2020, pp. 39-50, doi: 10.1145/3416315.3416320. [Online]. Available: https://doi.org/10.1145/3416315.3416320
[6] Y. He, J. Lu, and T. Wang, "CoroBase: Coroutine-Oriented Main-Memory Database Engine," Proc. VLDB Endowment, vol. 14, no. 3, pp. 431-444, 2020, doi: 10.14778/3430915.3430932. [Online]. Available: https://doi.org/10.147 7 8/3430915.3430932
[7] T. Bryksin, V. Petukhov, I. Alexin, S. Prikhodko, A. Shpilman, V. Kovalenko, and N. Povarov, "Using Large-Scale Anomaly Detection on Code to Improve Kotlin Compiler," Proc. 17th Int. Conf. on Mining Software Repositories (MSR '20), 2020, pp. 455-465, doi: 10.1145/3379597.3387447. [Online]. Available: https://doi.org/10.1145/337959 7 .3387447
Downloads
Published
Issue
Section
License

This work is licensed under a Creative Commons Attribution 4.0 International License.
This work is licensed under a Creative Commons Attribution 4.0 International License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

