Comparative analysis of Kotlin coroutines with Java and Scala in parallel programming
Abstract
The article presents a comparison of Kotlin coroutines with analogous solutions in Java and Scala in parallel programming using chosen metric and non-metric criteria. For that purpose, a multi-module project with corresponding implementations of selected algorithms in all of the three languages was created and then analyzed. The studies were preceded by a description of the created project.
Keywords:
kotlin, parallel programming, jvm, coroutinesReferences
Parallel Computing: Background, https://www.intel.com/pressroom/kits/upcrc/ParallelComputing_backgrounder.pdf, [22.05.2020].
Google Scholar
M. E. Conway, Design of a Separable Transition Diagram Compiler, Communications of the ACM 6.7 (1963) 396-408.
DOI: https://doi.org/10.1145/366663.366704
Google Scholar
A. L. De Moura, R. Ierusalimschy, Revisiting Coroutines, ACM Transactions on Programming Languages and Systems 31.2 (2009) 1-31.
Google Scholar
D. Racordon D, Coroutines with Higher Order Functions, arXiv preprint arXiv:1812.08278 (2018).
Google Scholar
A. Ohlsson, E. Leffler E, A Coroutine Extension to Java, (2018).
Google Scholar
D. E. Damasceno Costa, C. Bezemer, P. Leitner, A. Andrzejak, What's Wrong With My Benchmark Results? Studying Bad Practices in JMH Benchmarks, IEEE Transactions on Software Engineering (2019).
DOI: https://doi.org/10.1109/TSE.2019.2925345
Google Scholar
M. E. O'Neill, The Genuine Sieve of Eratosthenes, Journal of Functional Programming 19.1 (2009) 95-106.
DOI: https://doi.org/10.1017/S0956796808007004
Google Scholar
Sieve of Eratostheneses animation, https://en.wikipedia.org/wiki/File:Sieve_of_Eratosthenes_animation.gif, [22.05.2020].
Google Scholar
J. S. Greenfield, A Proof for a QuickHull Algorithm (1990).
Google Scholar
Quickhull example, https://en.wikipedia.org/wiki/ File:Quickhull_example3.svg, [22.05.2020].
Google Scholar
Quickhull example, https://en.wikipedia.org/wiki/ File:Quickhull_example6.svg, [22.05.2020]..
Google Scholar
Quickhull example, https://en.wikipedia.org/wiki/ File:Quickhull_example7.svg, [22.05.2020]
Google Scholar
D. Nam, A. Horvath, A. Macvean, B. Myers, B. Vasilescu, MARBLE: Mining for Boilerplate Code to Identify API Usability Problems, 2019 34th IEEE/ACM International Conference on Automated Software Engineering (2019) 615-627.
Google Scholar
Why are Scala for loops slower than logically identical while loops?, https://stackoverflow.com/questions/21373514/why-are-scala-for-loops-slower-than-logically-identical-while-loops, [22.05.2020].
Google Scholar
Micro-optimizing your Scala code, https://www.lihaoyi.com/post/MicrooptimizingyourScalacode.html#speed-through-while-loops, [22.05.2020].
Google Scholar
Statistics
Abstract views: 546PDF downloads: 381
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.