[Python-Dev] Re: [pypy-dev] Slides: how Psyco works (original) (raw)
Christian Tismer tismer at stackless.com
Thu Apr 29 11:45:46 EDT 2004
- Previous message: [Python-Dev] Slides: how Psyco works
- Next message: [Python-Dev] Slides: how Psyco works
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Armin Rigo wrote:
Hello,
I have put on-line some slides from the Python UK conference at ACCU 2004, explaining how Psyco works. It is actually a Pygame application... As far as I can tell, it is the first time someone in the room actually understood something at the end :-) http://psyco.sourceforge.net/
Hey, this is a nice animation, with my beloved Lemmings :-)
I hope it should help to make Psyco a bit less mysterious, and also explain why it is difficult to have a general idea about what kind of speed-up you can expect for specific kinds of code: it is, after all, a pretty low-level "local" process that Psyco does, and it sometimes pays off and sometimes not. It also explains why this process is very much like the usual interpretation that CPython does. If you think about it you might see how useful it would be for Psyco to build on top of an interpreter in a better language than C (i.e. one that can be analysed, not just blindly run).
Yes, this is very clear. For PyPy, it will be interesting to see how efficient Psyco's peephole-like optimization is compared to whole-program analysis. There are probably programs simple enough to be completely optimized through by WPA. On the other hand, the possible optimization paths can grow to very many, giving a huge code bloat. In that case, Psyco's approach is probably more efficient, by creating new code only when it is needed. In the end, I guess both strategies should be combined to get some optimum between analysis time, speed and memory consumption.
Anyway, I can highly recommend to watch this nice movie from Rigo Productions (C) :-))
ciao - chris
Christian Tismer :^) <mailto:tismer at stackless.com> Mission Impossible 5oftware : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9a : Starship http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 89 09 53 34 home +49 30 802 86 56 mobile +49 173 24 18 776 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/
- Previous message: [Python-Dev] Slides: how Psyco works
- Next message: [Python-Dev] Slides: how Psyco works
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]