Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2008-08-12 05:37:01
Size: 197
Editor: 219
Comment: init. answer
Revision 7 as of 2008-08-12 22:22:30
Size: 1630
Editor: MichaelFoord
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:


 Another answer::
  * Python as a language is a set of rules (its syntax and semantics) and so doesn't have a 'speed'. Only a specific language implementation can have a measurable speed, and then we can only compare performance with a specific implementation of another language. In general you can't compare the speed of one language to another - you can only compare implementations.

  With Python there are several implementations - CPython (with or without Psyco, a specializing compiler for CPython), IronPython, Jython, PyPy - plus several partial implementations that implement a subset of Python (Tinypy) or can even compile a subset of Python to C++ (Shedskin). If you say Python is slow, which specific implementation are you talking about?

  Having said that, as a dynamic language Python will typically perform slower for specific benchmarks than standard implementations of some other languages (although it is faster than plenty of others). As a dynamic language a lot of information about the program can only be determined at runtime. This means that a lot of common compiler tricks, that rely on knowing the type of objects at compile time, can't work. Despite this there are a lot of things that can be done to improve the performance of dynamic language, several of which have been done before in virtual machines like Strongtalk and are being explored for Python in the PyPy JIT tracing compiler.

SEE:[wiki:Ten_things_people_want_to_know_about_Python Ten things people want to know about Python]for more details.

Answer
  • Why not ask:"Why is Python fast than the xxx language"?
Another answer
  • Python as a language is a set of rules (its syntax and semantics) and so doesn't have a 'speed'. Only a specific language implementation can have a measurable speed, and then we can only compare performance with a specific implementation of another language. In general you can't compare the speed of one language to another - you can only compare implementations.

    With Python there are several implementations - CPython (with or without Psyco, a specializing compiler for CPython), IronPython, Jython, PyPy - plus several partial implementations that implement a subset of Python (Tinypy) or can even compile a subset of Python to C++ (Shedskin). If you say Python is slow, which specific implementation are you talking about?

    Having said that, as a dynamic language Python will typically perform slower for specific benchmarks than standard implementations of some other languages (although it is faster than plenty of others). As a dynamic language a lot of information about the program can only be determined at runtime. This means that a lot of common compiler tricks, that rely on knowing the type of objects at compile time, can't work. Despite this there are a lot of things that can be done to improve the performance of dynamic language, several of which have been done before in virtual machines like Strongtalk and are being explored for Python in the PyPy JIT tracing compiler.

Why is Python slower than the xxx language (last edited 2008-11-15 13:59:37 by localhost)

Unable to edit the page? See the FrontPage for instructions.