Project Rocky: The Architectural Performance of Interpreted
Languages
Project Description
Interpreted languages have become increasingly popular over the
last several years, due in part to the demands for portability,
safety, and ease of use. This project examines the performance of
interpreted languages and environments from several perspectives:
interpretation strategy, implementation, and processor/architecture
utilization. As a basis for our study, we have collected a set of
benchmarks and microbenchmarks which are implemented in several
interpreted languages -- Perl, Tcl, Java, and MIPSI. Using various
instrumentation and tracing techniques, we evaluate the performance
characteristics of those benchmarks in order to gain insight into
the similarities and differences in these languages and their
execution environments.
Our analysis shows that the performance of an interpreted program is
attributable to a large extent to the virtual machine model defined
by the interpreter. Using trace-driven simulation, we show that the
CPU behavior of an interpreted program is largely independent of the
program being interpreted, but is closely tied to the interpreter
itself. With this, we demonstrate that interpreter performance is
comparable to that of other complex programs found in contemporary
benchmarking suites.
People
Faculty:
Students:
Papers
Romer, Lee, Voelker, Wolman, Wong, Baer,
Bershad, and Levy, The Structure and Performance of
Interpreters, ASPLOS VII, to appear.
Tools
To collect information on the performance of x86 applications,
we've been building a binary rewriting tool called Etch. Etch is
not yet publicly available, but you can read about it on the Etch
home page.
Internal Documentation
Project
internal documentation (available only to people from UW CSE).
Last updated July 24, 1996.
romer@cs.washington.edu