summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2016-11-18 18:42:10 (GMT)
committerBrett Cannon <brett@python.org>2016-11-18 18:42:10 (GMT)
commitdc0e6f9ea30c6443cd18839b846350144b77b50a (patch)
treeaed692bc1b44b6afbc207afdc64c25747dc4ee58
parent0c633985d754d55f0635a2a5bf39e63ab50c5f91 (diff)
parent78ffd6cffacb04bea61bb0ef850d05859ab2dbe4 (diff)
downloadcpython-dc0e6f9ea30c6443cd18839b846350144b77b50a.zip
cpython-dc0e6f9ea30c6443cd18839b846350144b77b50a.tar.gz
cpython-dc0e6f9ea30c6443cd18839b846350144b77b50a.tar.bz2
Merge for issue #28705
-rw-r--r--Doc/faq/design.rst32
1 files changed, 5 insertions, 27 deletions
diff --git a/Doc/faq/design.rst b/Doc/faq/design.rst
index 1b6cd7e..ea3de8a 100644
--- a/Doc/faq/design.rst
+++ b/Doc/faq/design.rst
@@ -366,33 +366,11 @@ is exactly the same type of object that a lambda expression yields) is assigned!
Can Python be compiled to machine code, C or some other language?
-----------------------------------------------------------------
-Practical answer:
-
-`Cython <http://cython.org/>`_ and `Pyrex <https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/>`_
-compile a modified version of Python with optional annotations into C
-extensions. `Weave <https://scipy.github.io/devdocs/tutorial/weave.html>`_ makes it easy to
-intermingle Python and C code in various ways to increase performance.
-`Nuitka <http://www.nuitka.net/>`_ is an up-and-coming compiler of Python
-into C++ code, aiming to support the full Python language.
-
-Theoretical answer:
-
- .. XXX not sure what to make of this
-
-Not trivially. Python's high level data types, dynamic typing of objects and
-run-time invocation of the interpreter (using :func:`eval` or :func:`exec`)
-together mean that a naïvely "compiled" Python program would probably consist
-mostly of calls into the Python run-time system, even for seemingly simple
-operations like ``x+1``.
-
-Several projects described in the Python newsgroup or at past `Python
-conferences <https://www.python.org/community/workshops/>`_ have shown that this
-approach is feasible, although the speedups reached so far are only modest
-(e.g. 2x). Jython uses the same strategy for compiling to Java bytecode. (Jim
-Hugunin has demonstrated that in combination with whole-program analysis,
-speedups of 1000x are feasible for small demo programs. See the proceedings
-from the `1997 Python conference
-<http://legacy.python.org/workshops/1997-10/proceedings/>`_ for more information.)
+`Cython <http://cython.org/>`_ compiles a modified version of Python with
+optional annotations into C extensions. `Nuitka <http://www.nuitka.net/>`_ is
+an up-and-coming compiler of Python into C++ code, aiming to support the full
+Python language. For compiling to Java you can consider
+`VOC <https://voc.readthedocs.io>`_.
How does Python manage memory?