On 2:59 PM, Alex Hall wrote:
On 9/28/10, Steven D'Aprano<st...@pearwood.info>  wrote:
<snip>

PyPy is a version of Python written in Python. It has an incredible
mission: to eventually produce versions of Python which are faster than
pure C, despite being written in Python itself. Although they have a
long, long way to go, they are making good progress, and PyPy can now
run Python code faster than CPython. PyPy is becoming a generalised
Just-In-Time compiler for high-level languages like Python.
Okay, I now have to go investigate this and see how it is even
possible; somewhere, the Python code has to get down to machine
code...

Just-in-time compiling (JIT) is taking some high-level construct, such as python byte code or a java class file, and compiling it into machine code, at the time of first execution. Java uses it heavily, to achieve its performance level. The standard CPython does not, but simply interprets those byte codes.

One advantage of just-in-time is that the translation can be specific to a particular processor, or even to a particular operating system and operating environment. Conventional compiling is done by the developer, and he has to release multiple versions for multiple platforms. And even then, he seldom takes advantage of the newer instructions of a given processor, which are changing quite frequently. I'm sure there are at least a dozen different instruction supersets of the original Pentium processor, though most of the recent ones are relatively specialized (eg. for hashing, searching, encryption), and likely to affect libraries more than your main program.

DaveA

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to