We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Programming Languages

Title: Implementation of the Programming Language Dino -- A Case Study in Dynamic Language Performance

Abstract: The article gives a brief overview of the current state of programming language Dino in order to see where its stands between other dynamic programming languages. Then it describes the current implementation, used tools and major implementation decisions including how to implement a stable, portable and simple JIT compiler.
We study the effect of major implementation decisions on the performance of Dino on x86-64, AARCH64, and Powerpc64. In brief, the performance of some model benchmark on x86-64 was improved by $\textbf{3.1}$ times after moving from a stack based virtual machine to a register-transfer architecture, a further $\textbf{1.5}$ times by adding byte code combining, a further $\textbf{2.3}$ times through the use of JIT, and a further $\textbf{4.4}$ times by performing type inference with byte code specialization, with a resulting overall performance improvement of about $\textbf{47}$ times. To put these results in context, we include performance comparisons of Dino with widely used implementations of Ruby, Python 3, PyPy and JavaScript on the three platforms mentioned above.
The goal of this article is to share the experience of Dino implementation with other dynamic language implementors in hope that it can help them to improve implementation of popular dynamic languages to make them probably faster and more portable, using less developer resources, and may be to avoid some mistakes and wrong directions which were experienced during Dino development.
Comments: 10 pages, 1 figure, 4 tables
Subjects: Programming Languages (cs.PL)
Cite as: arXiv:1604.01290 [cs.PL]
  (or arXiv:1604.01290v1 [cs.PL] for this version)

Submission history

From: Vladimir Makarov [view email]
[v1] Tue, 5 Apr 2016 15:12:06 GMT (89kb)

Link back to: arXiv, form interface, contact.