The Java Virtual Machine (JVM) has become an execution platform targeted by many programming languages. However, unlike with Java, a statically-typed language, the performance of the JVM and its Just-In-Time (JIT) compiler with dynamically-typed languages lags behind purpose-built language-specific JIT compilers. In this paper, we aim to contribute to the understanding of the workloads imposed on the JVM by dynamic languages. We use various metrics to characterize the dynamic behavior of a variety of programs written in three dynamic languages (Clojure, Python, and Ruby) executing on the JVM. We identify the differences with respect to Java, and briefly discuss their implications.
%0 Conference Paper
%1 Sarimbekov:2013:CDJ
%A Sarimbekov, Aibek
%A Podzimek, Andrej
%A Bulej, Lubomir
%A Zheng, Yudi
%A Ricci, Nathan
%A Binder, Walter
%B Proceedings of the 7th ACM Workshop on Virtual Machines and Intermediate Languages
%D 2013
%I ACM
%K Characterization Evaluation Language Performance
%P 11--20
%R 10.1145/2542142.2542144
%T Characteristics of Dynamic JVM Languages
%X The Java Virtual Machine (JVM) has become an execution platform targeted by many programming languages. However, unlike with Java, a statically-typed language, the performance of the JVM and its Just-In-Time (JIT) compiler with dynamically-typed languages lags behind purpose-built language-specific JIT compilers. In this paper, we aim to contribute to the understanding of the workloads imposed on the JVM by dynamic languages. We use various metrics to characterize the dynamic behavior of a variety of programs written in three dynamic languages (Clojure, Python, and Ruby) executing on the JVM. We identify the differences with respect to Java, and briefly discuss their implications.
%@ 978-1-4503-2601-8
@inproceedings{Sarimbekov:2013:CDJ,
abstract = {The Java Virtual Machine (JVM) has become an execution platform targeted by many programming languages. However, unlike with Java, a statically-typed language, the performance of the JVM and its Just-In-Time (JIT) compiler with dynamically-typed languages lags behind purpose-built language-specific JIT compilers. In this paper, we aim to contribute to the understanding of the workloads imposed on the JVM by dynamic languages. We use various metrics to characterize the dynamic behavior of a variety of programs written in three dynamic languages (Clojure, Python, and Ruby) executing on the JVM. We identify the differences with respect to Java, and briefly discuss their implications.},
added-at = {2016-06-06T15:33:11.000+0200},
author = {Sarimbekov, Aibek and Podzimek, Andrej and Bulej, Lubomir and Zheng, Yudi and Ricci, Nathan and Binder, Walter},
biburl = {https://www.bibsonomy.org/bibtex/29f09a62b0d7ca7422bbb293bd0b5f46b/gron},
booktitle = {Proceedings of the 7th ACM Workshop on Virtual Machines and Intermediate Languages},
description = {Characteristics of dynamic JVM languages},
doi = {10.1145/2542142.2542144},
interhash = {fcb614d9357512947a6d84e47cfa674c},
intrahash = {9f09a62b0d7ca7422bbb293bd0b5f46b},
isbn = {978-1-4503-2601-8},
keywords = {Characterization Evaluation Language Performance},
location = {Indianapolis, Indiana, USA},
numpages = {10},
pages = {11--20},
publisher = {ACM},
series = {VMIL'13},
timestamp = {2016-06-06T15:33:11.000+0200},
title = {Characteristics of Dynamic JVM Languages},
year = 2013
}