Spyculative
Institute of Computer Languages
Vienna University of Technology

Spyculative

This is the web site of Spyculative, a research project at the Compilers and Languages Group at Vienna University of Technology funded by the Austrian Science Fund (FWF) with the project number P23303-N23. The project ran from February 2011 until December 2014.

About

Modern programming languages offer a wide range of flexible features to programmers, but often at a large price in performance. The Spyculative project investigated the Python programming language to understand the performance of Python programs and discover ways of speeding them up.

Python is popular with many people who are not programmers in the traditional sense; for example, it is commonly used by researchers in the natural sciences for data processing and simulation tasks. Making Python programs execute faster can therefore have a large productivity impact across various disciplines.

In the Spyculative project we used various techniques to obtain information about the way Python programs are executed. We collected statistics from actual runs of the Python implementation as well as from a novel simulation-based approach which allows data collection at an unprecedented level of detail. The insights gained from this data allowed us to implement and validate some optimizations as well as identify key areas for further research. One of the implemented optimizations speeds up a large class of programs by up to 10%. Our data collection approach yields information which can be used to estimate the impact of other optimizations even before implementing them; in certain areas, speedups of over 30% are predicted by our simulator. In particular, we have demonstrated that adding data type annotations to Python programs (a feature to be adopted in future Python versions) can enable such highly beneficial optimizations.

Software

During the project we developed pylibjit, a Python library for compiling Python functions.

Publications

The following publications were produced over the course of the project:

Members

People involved in the project:


Complang Group
Spyculative
Sitemap
Faculty of Informatics
Vienna University of Technology
top | HTML 4.01 | last update: 2016-03-14 (gergo)