[Python-Dev] compiler optimizations: collecting ideas (original) (raw)
average dreamingforward at gmail.com
Fri Nov 14 23:07:04 CET 2008
- Previous message: [Python-Dev] Summary of Python tracker Issues
- Next message: [Python-Dev] datetime and timedelta enhancement
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"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
- Previous message: [Python-Dev] Summary of Python tracker Issues
- Next message: [Python-Dev] datetime and timedelta enhancement
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]