Runtime synthesis of high-performance code from scripting languages

  • Authors:
  • Christopher Mueller;Andrew Lumsdaine

  • Affiliations:
  • Indiana University;Indiana University

  • Venue:
  • Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Scripting languages are ubiquitous in modern software engineering and are often used as the sole language for application development. However, some applications, specifically scientific and multimedia applications, often have small sections of code that require a higher level of performance than the host language can deliver. In many cases, the algorithm being optimized is simple and has a clear mapping to hardware resources. But, without introducing an intermediate language, developers generally have no direct methods to implement an optimized solution.In this paper, we present the synthetic programming environment, a run-time system for synthesizing and executing high-performance instruction sequences directly from scripting languages. Our implementation, available for download, is implemented in Python for PowerPC processors and gives Python developers direct access to system resources for performance critical code. We discuss strategies for creating and managing synthetic programs and provide two real-world examples, an interactive particle system and a chemical fingerprint comparison tool.