Commit cbac7ae5 authored by Stefan Behnel's avatar Stefan Behnel

minor fixes in related work section

parent 32ac0752
Related work
============
Pyrex [Pyrex]_ is the compiler project that Cython was originally based on.
Many features and the major design decisions of the Cython language
were developed by Greg Ewing as part of that project. Today, Cython
supersedes the capabilities of Pyrex by providing a higher
compatibility with Python code and Python semantics, as well as
superior optimisations and better integration with scientific Python
extensions like NumPy.
Pyrex [Pyrex]_ is the compiler project that Cython was originally
based on. Many features and the major design decisions of the Cython
language were developed by Greg Ewing as part of that project. Today,
Cython supersedes the capabilities of Pyrex by providing a
substantially higher compatibility with Python code and Python
semantics, as well as superior optimisations and better integration
with scientific Python extensions like NumPy.
ctypes [ctypes]_ is a foreign function interface (FFI) for Python. It
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
compiled language, can avoid much of this overhead by moving more
functionality and long-running loops into fast C code.
SWIG [SWIG]_ is a wrapper code generator. It makes it very easy to parse
large API definitions in C/C++ header files, and to generate straight
forward wrapper code for a large set of programming languages. As
opposed to Cython, however, it is not a programming language itself.
Thin wrappers are easy to generate, but the more functionality a
wrapper needs to provide, the harder it gets to implement it with
SWIG. Cython, on the other hand, makes it very easy to write very
elaborate wrapper code specifically for the Python language. Also,
there exists third party code for parsing C header files and using it
to generate Cython definitions and module skeletons.
SWIG [SWIG]_ is a wrapper code generator. It makes it very easy to
parse large API definitions in C/C++ header files, and to generate
straight forward wrapper code for a large set of programming
languages. As opposed to Cython, however, it is not a programming
language itself. Thin wrappers are easy to generate, but the more
functionality a wrapper needs to provide, the harder it gets to
implement it with SWIG. Cython, on the other hand, makes it very easy
to write very elaborate wrapper code specifically for the Python
language, and to make it as thin or thick as needed at any given
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
uses profiling information and very powerful type inference engine
to generate a C++ program from (restricted) Python source code.
The main drawback is has no support for calling the Python/C API for
operations it does not support natively, and supports very few of the
standard Python modules.
uses a very powerful whole-module type inference engine to generate a
C++ program from (restricted) Python source code. The main drawback
is that it has no support for calling the Python/C API for operations
it does not support natively, and supports very few of the standard
Python modules.
.. [ctypes] http://docs.python.org/library/ctypes.html.
.. 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