English

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

Programming Languages 2016-11-03 v1

Abstract

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.

Keywords

Cite

@article{arxiv.1611.00467,
  title  = {A Performance Survey on Stack-based and Register-based Virtual Machines},
  author = {Ruijie Fang and Siqi Liu},
  journal= {arXiv preprint arXiv:1611.00467},
  year   = {2016}
}

Comments

Short paper for evaluating performance differences between a stack-based and a register-based virtual machine

R2 v1 2026-06-22T16:39:21.987Z