[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