The structure and performance of interpreters
- 1 September 1996
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 31 (9), 150-159
- https://doi.org/10.1145/237090.237175
Abstract
Interpreted languages have become increasingly popular due to demands for rapid program development, ease of use, portability, and safety. Beyond the general impression that they are "slow," however, little has been documented about the performance of interpreters as a class of applications.This paper examines interpreter performance by measuring and analyzing interpreters from both software and hardware perspectives. As examples, we measure the MIPSI, Java, Perl, and Tcl interpreters running an array of micro and macro benchmarks on a DEC Alpha platform. Our measurements of these interpreters relate performance to the complexity of the interpreter's virtual machine and demonstrate that native runtime libraries can play a key role in providing good performance. From an architectural perspective, we show that interpreter performance is primarily a function of the interpreter itself and is relatively of the application being interpreted. We also demonstrate that high-level interpreters' demands on processor resources are comparable to those of other complex compiled programs, such as gcc. We conclude that interpreters, as a class of applications, do not currently motivate special hardware support for increased performance.Keywords
This publication has 19 references indexed in Scilit:
- Efficient and language-independent mobile programsPublished by Association for Computing Machinery (ACM) ,1996
- Memory system performance of programs with intensive heap allocationACM Transactions on Computer Systems, 1995
- Simultaneous multithreadingPublished by Association for Computing Machinery (ACM) ,1995
- Instruction fetchingPublished by Association for Computing Machinery (ACM) ,1995
- Cache performance of fast-allocating programsPublished by Association for Computing Machinery (ACM) ,1995
- ATOMPublished by Association for Computing Machinery (ACM) ,1994
- Migrating a CISC computer family onto RISC via object code translationPublished by Association for Computing Machinery (ACM) ,1992
- Efficient implementation of the smalltalk-80 systemPublished by Association for Computing Machinery (ACM) ,1984
- Interpretation TechniquesSoftware: Practice and Experience, 1981
- Threaded codeCommunications of the ACM, 1973