An Executable Semantics for Faster Development of Optimizing Python CompilersResearch Paper
Python is a popular programming language whose performance is known to be uncompetitive in comparison to static languages such as C. Although significant efforts have already accelerated implementations of the language, more efficient ones are still required. The development of such optimized implementations is nevertheless hampered by its complex semantics and the lack of an official formal semantics. We address this issue by presenting an approach to define an executable semantics targeting the development of optimizing compilers. This executable semantics is written in a format that highlights type checks, primitive values boxing and unboxing, and function calls which are all known sources of overhead. We also present semPy, a partial evaluator of our executable semantics that can be used to remove redundant operations when evaluating arithmetic operators. Finally, we present Zipi, a Python optimizing compiler prototype developed with the aid of semPy. On some tasks, Zipi displays performance competitive with that of state of art Python implementations.
Mon 23 OctDisplayed time zone: Lisbon change
09:00 - 10:30 | Language implementationSLE at Room II Chair(s): Thomas Degueule CNRS, LaBRI This session will start at 08:50 with a welcome and general announcements from the Conference General Chair. | ||
09:00 30mTalk | Exceptions all Over the Shop: Modular, Customizable, Language-independent Exception Handling LayerResearch Paper SLE DOI | ||
09:30 30mTalk | An Executable Semantics for Faster Development of Optimizing Python CompilersResearch Paper SLE Olivier Melancon Université de Montréal, Marc Feeley Université de Montréal, Manuel Serrano Inria; University of Côte d'Azur DOI | ||
10:00 30mTalk | Adaptive Structural Operational SemanticsResearch Paper SLE Gwendal Jouneaux University of Rennes; Inria; IRISA, Damian Frölich University of Amsterdam, Olivier Barais University of Rennes; Inria; CNRS; IRISA, Benoit Combemale University of Rennes, Inria, CNRS, IRISA, Gurvan LE GUERNIC DGA MI & Université de Rennes 1, Gunter Mussbacher McGill University, L. Thomas van Binsbergen University of Amsterdam DOI Pre-print |