TUNES Update
Armin Rigo
arigo at tunes.org
Thu Mar 22 07:24:23 PDT 2007
Hi Tom,
On Tue, Mar 20, 2007 at 08:42:05AM -0400, Tom Novelli wrote:
> I understand the fast/fallback approach... As for PyPy, the FAQ needs
> work... let's see if I understand: You're profiling and JIT-compiling
> the hot spots... The profiler tracks data types, and you just compile
> native code for whatever types happen to be used most. And this was a
> new approach when you did it with Psyco, made possible by efficient
> profiling techniques. Correct?
I'm aware that it's quite undocumented yet for PyPy (we need to write a
technical report within a month). No, that's not how it works; my point
is that there is no Python-specific profiling code tracking the Python
types and producing corresponding native code. The technique is
language-independent. I'm still not managing to summarize it concisely,
though :-( I can only refer to the paper and slides for Psyco at
http://psyco.sourceforge.net/doc.html ("How does it work?" section).
PyPy itself contains a generator that produces a JIT compiler in the
style of Psyco, automatically, from a Python interpreter (which plays
the role of a formal language specification in this context). In other
words, just tweak the interpreter or replace it with an interpreter for
whatever other dynamic language you like and you get a JIT compiler for
free. (Somebody is busy writing a JavaScript interpreter in our
framework, for example.)
A bientot,
Armin.
More information about the TUNES
mailing list