Python's Performance

Donn Cave donn at
Mon Oct 10 20:21:18 CEST 2005

In article <mailman.1800.1128890475.509.python-list at>,
 "Fredrik Lundh" <fredrik at> wrote:

> Donn Cave wrote:
> > | > Except it is interpreted.
> > |
> > | except that it isn't.  Python source code is compiled to byte code, which
> > | is then executed by a virtual machine.  if the byte code for a module is 
> > | up
> > | to date, the Python runtime doesn't even look at the source code.
> >
> > Fair to say that byte code is interpreted?  Seems to require an
> > application we commonly call an interpreter.
> well, the bytecode isn't Python (the transformation isn't exactly straight-
> forward, as we've seen in other posts I've made today).
> and even if the bytecode engine used in CPython can be viewed as an inter-
> preter, does that make Python an interpreted language?  what about Python
> code that uses a runtime that converts it to machine code?  (e.g. Psycho, 
> Iron-
> Python).  is it still an interpreter if it generates machine code?

Is what an interpreter?

I am not very well acquainted with these technologies, but it sounds
like variations on the implementation of an interpreter, with no
really compelling distinction between them.  When a program is deployed
as instructions in some form other than native code executable, and
therefore those instructions need to be evaluated by something other
than the hardware, then that would be some kind of interpretation.
I agree that there are many shades of grey here, but there's also a
real black that's sharply distinct and easy to find -- real native
code binaries are not interpreted.

   Donn Cave, donn at

More information about the Python-list mailing list