Commit cbac7ae5 authored by Stefan Behnel's avatar Stefan Behnel

minor fixes in related work section

parent 32ac0752
Related work Related work
============ ============
Pyrex [Pyrex]_ is the compiler project that Cython was originally based on. Pyrex [Pyrex]_ is the compiler project that Cython was originally
Many features and the major design decisions of the Cython language based on. Many features and the major design decisions of the Cython
were developed by Greg Ewing as part of that project. Today, Cython language were developed by Greg Ewing as part of that project. Today,
supersedes the capabilities of Pyrex by providing a higher Cython supersedes the capabilities of Pyrex by providing a
compatibility with Python code and Python semantics, as well as substantially higher compatibility with Python code and Python
superior optimisations and better integration with scientific Python semantics, as well as superior optimisations and better integration
extensions like NumPy. with scientific Python extensions like NumPy.
ctypes [ctypes]_ is a foreign function interface (FFI) for Python. It ctypes [ctypes]_ is a foreign function interface (FFI) for Python. It
provides C compatible data types, and allows calling functions in DLLs provides C compatible data types, and allows calling functions in DLLs
...@@ -20,23 +20,24 @@ operations must pass through Python code first. Cython, being a ...@@ -20,23 +20,24 @@ operations must pass through Python code first. Cython, being a
compiled language, can avoid much of this overhead by moving more compiled language, can avoid much of this overhead by moving more
functionality and long-running loops into fast C code. functionality and long-running loops into fast C code.
SWIG [SWIG]_ is a wrapper code generator. It makes it very easy to parse SWIG [SWIG]_ is a wrapper code generator. It makes it very easy to
large API definitions in C/C++ header files, and to generate straight parse large API definitions in C/C++ header files, and to generate
forward wrapper code for a large set of programming languages. As straight forward wrapper code for a large set of programming
opposed to Cython, however, it is not a programming language itself. languages. As opposed to Cython, however, it is not a programming
Thin wrappers are easy to generate, but the more functionality a language itself. Thin wrappers are easy to generate, but the more
wrapper needs to provide, the harder it gets to implement it with functionality a wrapper needs to provide, the harder it gets to
SWIG. Cython, on the other hand, makes it very easy to write very implement it with SWIG. Cython, on the other hand, makes it very easy
elaborate wrapper code specifically for the Python language. Also, to write very elaborate wrapper code specifically for the Python
there exists third party code for parsing C header files and using it language, and to make it as thin or thick as needed at any given
to generate Cython definitions and module skeletons. place. Also, there exists third party code for parsing C header files
and using it to generate Cython definitions and module skeletons.
ShedSkin [ShedSkin]_ is an experimental Python-to-C++ compiler. It ShedSkin [ShedSkin]_ is an experimental Python-to-C++ compiler. It
uses profiling information and very powerful type inference engine uses a very powerful whole-module type inference engine to generate a
to generate a C++ program from (restricted) Python source code. C++ program from (restricted) Python source code. The main drawback
The main drawback is has no support for calling the Python/C API for is that it has no support for calling the Python/C API for operations
operations it does not support natively, and supports very few of the it does not support natively, and supports very few of the standard
standard Python modules. Python modules.
.. [ctypes] http://docs.python.org/library/ctypes.html. .. [ctypes] http://docs.python.org/library/ctypes.html.
.. there's also the original ctypes home page: http://python.net/crew/theller/ctypes/ .. there's also the original ctypes home page: http://python.net/crew/theller/ctypes/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment