[Python-Dev] compiler optimizations: collecting ideas

average dreamingforward at gmail.com
Fri Nov 14 23:07:04 CET 2008


"Daniel Furrer" <daniel.furrer at gmail.com> wrote:
> As part of an advanced compiler design course at our university (ETH
> Zurich), we have to implement an optimization (or various thereof).
> I've spoken with a couple of people who are, like me, very fascinated by
> Python.
> So I would just like to ask if somebody has any ideas on what we could do?
>
> - We've been working on generating Control Flow Graphs, generating Static
> Single Assignment Form (inserting phi-nodes) and removing it again. We've
> also implemented techniques like constant folding, copy propagation, Common
> Subexpression Elimination etc.

How about a graphical program-visualization meta-tool that would allow
making optimizations (as well as debugging) easier.  Take your control
flow graph data put it into fractal or recursive/foldable graphical
"cloud" and visualize the running program therein.  Find interesting
audio and visual constructs (color, intensity, etc) to isomorphically
map interesting programming data into non-arbitrary visual iconography
and design.  Each entrance into a code-block is like a photon entering
a molecular form, and as more photons enter a given block in a given
time frame, heat is generated in that code block, causing it to glow
for an amount of time.  Code that runs for a long time, glows as it is
run.  If it returns a value all that warmth in the code block gets
turned into a flash of light and the code-block goes dark again.  The
description is pretty sloppy, but I know there's a killer app there
somewhere.  I've been wanting such a tool for awhile.  (Imagine using
such a tool with a powerful abstract language like LISP.  It would
remove all the obtuse parenthetical list expressions and put it into a
graphical visual language where nodes consisting of subgraphs could be
moved around as needed.  Language syntax would become more-or-less
obsolete!)

Go even further and imagine the internet in such a cloud, where users
can navigate by looking at "heat" activity therein.  Each time a user
visits and "looks" at a given site eventually condenses into "water"
and you have pools of interest....

Please tell me this is a cool idea or not so I don't wonder why no one
else is thinking about such things.  And on your way, save the
world...  Oh, and, if it is a cool idea, is there any company
interested in hiring?  haha

marcos


More information about the Python-Dev mailing list