PhD thesis,

Purely Interpretative Optimizations

.
TU Wien, (February 2011)

Abstract

Interpreters are easy to implement and can be made portable with only little extra effort. Therefore, many popular programming languages choose an interpreter instead of a compiler as an execution platform. While the characteristics of interpreters are regarded as an upside, usually, their major downside is considered to be sub-optimal performance. Fortunately, in 1984 L. Peter Deutsch and Allan Schiffman introduced the modern concept of dynamic compilation sub-systems to the programming language implementation community, which subsequently became a success story, resulting in today's high performance just-in-time compilers for Java and .NET. Unfortunately, on the other hand, deciding to implement a dynamic compilation sub-system involves trading off the valuable innate characteristics of interpreters. This dissertation a) explains why for some interpreters known techniques do not yield reported speedups, b) provides orientation for focusing on other optimization targets, and c) presents several purely-interpretative optimization techniques that result in substantial speedups-we report speedups of up to 2.4176-while simultaneously preserving the ease of implementation and portability characteristics.

Tags

Users

  • @gron

Comments and Reviews