A Performance Survey on Stack-based and Register-based Virtual Machines

Virtual machines have been widely adapted for high-level programming language implementations and for providing a degree of platform neutrality. As the overall use and adaptation of virtual machines grow, the overall performance of virtual machines has become a widely-discussed topic. In this paper,...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:arXiv.org 2016-11
Hauptverfasser: Fang, Ruijie, Liu, Siqi
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Virtual machines have been widely adapted for high-level programming language implementations and for providing a degree of platform neutrality. As the overall use and adaptation of virtual machines grow, the overall performance of virtual machines has become a widely-discussed topic. In this paper, we present a survey on the performance differences of the two most widely adapted types of virtual machines - the stack-based virtual machine and the register-based virtual machine - using various benchmark programs. Additionally, we adopted a new approach of measuring performance by measuring the overall dispatch time, amount of dispatches, fetch time, and execution time while running benchmarks on custom-implemented, lightweight virtual machines. Finally, we present two lightweight, custom-designed, Turing-equivalent virtual machines that are specifically designed in benchmarking virtual machine performance - the "Conceptum" stack-based virtual machine, and the "Inertia" register-based virtual machine. Our result showed that while on average the register machine spends 20.39% less time in executing benchmarks than the stack machine, the stack-based virtual machine is still faster than the virtual machine regarding the instruction fetch time.
ISSN:2331-8422