Tratt: Fast Enough VMs in Fast Enough Time
Tratt: Fast Enough VMs in Fast Enough Time
Laurence Tratt, the designer of the Converge language, has written a
detailed introduction to RPython, the language used as the base of the
PyPy project. "However, in addition to outputting optimised C code,
RPython automatically creates a second representation of the user's
program. Assuming RPython has been used to write a VM for language L, one
gets not only a traditional interpreter, but also an optimising
Just-In-Time (JIT) compiler for free. In other words, when a program
written in L executes on an appropriately written RPython VM, hot loops
(i.e. those which are executed frequently) are automatically turned into
machine code and executed directly. This is RPython's unique selling point,
as I'll now explain.
"