Abstract
Romer et al (ASPLOS 96) examined several interpreters and concluded that they behave much like general purpose integer programs such as gcc. We show that there is an important class of interpreters which behave very differently. Efficient virtual machine interpreters perform a large number of indirect branches (3. 2%–13% of all executed instructions in our benchmarks, taking up to 61%-79% of the cycles on a machine with no branch prediction). We evaluate how various branch prediction schemes and methods to reduce the mispredict penalty affect the performance of several virtual machine interpreters. Our results show that for current branch predictors, threaded code interpreters cause fewer mispredictions, and are almost twice as fast as switch based interpreters on modern superscalar architectures.
Cite
CITATION STYLE
Anton Ertl, M., & Gregg, D. (2001). The behavior of efficient virtual machine interpreters on modern architectures. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 2150, pp. 403–413). Springer Verlag. https://doi.org/10.1007/3-540-44681-8_59
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.