The Structure and Performance of Efficient Interpreters
M. Ertl, and D. Gregg. Journal of Instruction-Level Parallelism, (November 2003)
Abstract
Interpreters designed for high general-purpose performance typically perform a large
number of indirect branches (3.2%-13% of all executed instructions in our benchmarks).
These branches consume more than half of the run-time in a number of congurations
we simulated. We evaluate how accurate various existing and proposed branch prediction
schemes are on a number of interpreters, how the mispredictions aect the performance of
the interpreters and how two dierent interpreter implementation techniques perform with
various branch predictors. We also suggest various ways in which hardware designers, C
compiler writers, and interpreter writers can improve the performance of interpreters.
%0 Journal Article
%1 EfficientInterpreters
%A Ertl, M. Anton
%A Gregg, David
%D 2003
%J Journal of Instruction-Level Parallelism
%K Interpreter direct indirect optimization threadedInterpretation threading
%P 1--25
%T The Structure and Performance of Efficient Interpreters
%U http://www.jilp.org/vol5/v5paper12.pdf
%V 5
%X Interpreters designed for high general-purpose performance typically perform a large
number of indirect branches (3.2%-13% of all executed instructions in our benchmarks).
These branches consume more than half of the run-time in a number of congurations
we simulated. We evaluate how accurate various existing and proposed branch prediction
schemes are on a number of interpreters, how the mispredictions aect the performance of
the interpreters and how two dierent interpreter implementation techniques perform with
various branch predictors. We also suggest various ways in which hardware designers, C
compiler writers, and interpreter writers can improve the performance of interpreters.
@article{EfficientInterpreters,
abstract = {Interpreters designed for high general-purpose performance typically perform a large
number of indirect branches (3.2%-13% of all executed instructions in our benchmarks).
These branches consume more than half of the run-time in a number of congurations
we simulated. We evaluate how accurate various existing and proposed branch prediction
schemes are on a number of interpreters, how the mispredictions aect the performance of
the interpreters and how two dierent interpreter implementation techniques perform with
various branch predictors. We also suggest various ways in which hardware designers, C
compiler writers, and interpreter writers can improve the performance of interpreters.},
added-at = {2010-12-06T17:29:58.000+0100},
author = {Ertl, M. Anton and Gregg, David},
biburl = {https://www.bibsonomy.org/bibtex/27e8a2f6c0776f1336c0f689a449e072d/gron},
interhash = {254da58ee52ba1ced8e9bf6fde3df62d},
intrahash = {7e8a2f6c0776f1336c0f689a449e072d},
journal = {Journal of Instruction-Level Parallelism},
keywords = {Interpreter direct indirect optimization threadedInterpretation threading},
month = {November},
pages = {1--25},
timestamp = {2020-03-14T21:18:08.000+0100},
title = {The Structure and Performance of Efficient Interpreters},
url = {http://www.jilp.org/vol5/v5paper12.pdf},
volume = 5,
year = 2003
}