[summerofcode] High-level python optimizer.

Armin Rigo arigo at tunes.org
Thu Jun 9 18:03:40 CEST 2005


Hi Brett,

On Wed, Jun 08, 2005 at 12:59:20PM -0700, Brett C. wrote:
> How are you planning to actually implement performance enhancements?  It is one
> thing to get complete control flow information in a CFG and do the data
> analysis, (...)

In addition to these remarks, I should point you -- if you are not
already aware of it -- to the PyPy project, which does control flow
graphs and type inference.  My honest opinion on the matter is that it's
both already in-development, and not at all a two-month project (at
least it took us a lot more time).

> To answer Mark Dufour's response here as well, Starkiller is not under active
> development anymore by Mike (at least to my knowledge).  And Starkiller in no
> way optimized Python but just performed a type inference for an entire Python
> application.

No, Starkiller does more than "just" type inference.  It generates C++
code that uses the inferred information, which can potentially give
great performance boosts.  I think that Mark's Ph.D. thesis is similar,
but goes quite farther in many respect by doing a number of more
advanced analysis.  Both Starkiller and, I believe, Mark's work don't
actually handle the complete Python language, but a static dialect or
subset of Python.  PyPy doesn't do type inference on the full Python
language either, but on a differently static subset (the difference
being that it doesn't look at the source but at the in-memory
pre-imported function- code- and class objects, so you can still use
full Python as a kind of macro-language to do any kind of dynamic
initializations at import time).


A bientot,

Armin


More information about the summerofcode mailing list