Performance Optimization of Large-Scale Android Applications Using Kotlin Coroutines and Modern Concurrency Models

Authors

  • Pavan Tilak Sadaraboina Independent Researcher

DOI:

https://doi.org/10.29284/yat5mc94

Keywords:

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

2021-06-30

Issue

Section

Articles

How to Cite

[1]
P. T. Sadaraboina, “Performance Optimization of Large-Scale Android Applications Using Kotlin Coroutines and Modern Concurrency Models”, IJASIS, vol. 7, no. 1, pp. 73–84, Jun. 2021, doi: 10.29284/yat5mc94.

Share