Performance Evaluation of Kotlin and Java on Android Runtime

Performance Evaluation of Kotlin and Java on Android Runtime
复制标题

Android 运行时 Kotlin 和 Java 的性能评估

DOI:
--
复制
发表时间:
--
期刊:
影响因子:
--
通讯作者:
Patrik Schwermer
Patrik Schwermer
中科院分区:
--
文献类型:
--
作者:
Patrik Schwermer

文献摘要

被引文献

相似文献

本研究使用计算机语言基准游戏套件中的四个基准测试来评估 Android 运行时上 Kotlin 和 Java 的性能,总共研究了 12 个基准测试实现。用于评估性能的指标包括运行时间、内存消耗、垃圾收集、原语装箱以及字节码 n 元语法。为了对这些语言进行基准测试,我们开发了一个旨在在 Android 手机上运行的基准测试应用程序。结果表明,在所有研究的基准测试中,Kotlin 都比 Java 慢,差异程度各不相同。此外,使用惯用的 Kotlin 功能和构造会导致额外的堆压力和盒装原语的需要。其他有趣的结果表明,与 Java 相比,回收 Kotlin 对象时存在潜在的垃圾收集开销。此外,在大多数基准测试中,Kotlin 都会比 Java 生成更大、更多样化的字节码。 Sammanfattning Denna 研究了 mellan Kotlin 和 Java 以及 Android Runtime genom 12 实施者和来自计算机语言基准游戏的 fyra 基准。包括一些关于 körtid、明尼苏达州、垃圾收集、拳击和原始字节码 n 元语法的一些建议。对于 Android 的基准测试应用程序来说,它是一个测试应用程序标记。结果表明 Kotlin 与 Java 的 samtliga 基准测试结果相同。 Vidare 结果是一个惯用的 Kotlin 函数,它代表了原始的一些类别。 Andra intressanta 结果包含了垃圾收集器的开销,以及与 Kotlin 和 Java 相关的一些对象的开销。 Vidare 制作了 Kotlin 存储的 bytekodfiler 并更新了各种 bytekod 和 Java,为大多数学生提供了基准测试。
This study evaluates the performance of Kotlin and Java on Android Runtime using four benchmarks from the Computer Language Benchmarks Game suite, for which a total of 12 benchmark implementations are studied. The metrics used to evaluate the performance includes runtime, memory consumption, garbage collection, boxing of primitives as well as bytecode n-grams. To benchmark the languages, a benchmark application has been developed intended to run on an Android phone. The results indicate that Kotlin is slower than Java for all studied benchmarks by a varying factor. Furthermore, the use of idiomatic Kotlin features and constructs results in additional heap pressure and the need of boxed primitives. Other interesting results indicate the existence of an underlying garbage collection overhead when reclaiming Kotlin objects compared to Java. Furthermore, Kotlin produces larger and more varied bytecode than Java for a majority of the benchmarks. Sammanfattning Denna studie utvärderar prestandan mellan Kotlin och Java på Android Runtime genom 12 implementationer av fyra benchmarks från The Computer Language Benchmarks Game. De mätvärden som använts för att utvärdera prestandan inkluderar körtid, minnesanvändning, garbage collection, boxing av primitiver samt bytekod n-grams. För att benchmarka språken har en benchmarkapplikation tagits fram för Android. Resultaten visar att Kotlin är långsammare än Java för samtliga benchmarks. Vidare resulterar användandet av idiomatiska Kotlin-funktioner i ökad minnesanvänding samt behovet att representera primitiver som klasser. Andra intressanta resultat inkluderar existensen av en overhead för garbage collectorn för frigörandet av objekt som allokerats av Kotlin jämfört med Java. Vidare producerar Kotlin större bytekodfiler och uppvisar mer varierad bytekod än Java för en majoritet av de benchmarks som studerats.