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, 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. 
Ruijie Fang and Siqi Liu
cs.PL