Michael Salib. PyCon DC 2004
Removing dynamic dispatch and binding leads to large performance
benefits since their existence precludes many traditional optimization techniques,such
as inlining. I have built a static type inferencer for Python called Starkiller. Given a
Python source file, it can deduce the types of all expressions in the program without
actually running it. Starkiller’s primary goal is to take a Python source program as
input and deduce the information needed to make native code compilation of that
program easy. This paper is describes Starkiller’s design and operation. It is partially
adapted from a draft of my Master’s thesis.
Seems like a nice piece of work. Starkiller even goes as far as providing a mini-language that allows non-Python extension type authors to describe the type behavior of their extensions. These descriptions are used during inference to model the run time data flow.
Posted to Python by Ehud Lamm on 3/25/04; 2:44:33 AM
|