Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
nexedi
cython
Commits
cbac7ae5
Commit
cbac7ae5
authored
Mar 12, 2011
by
Stefan Behnel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
minor fixes in related work section
parent
32ac0752
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
22 deletions
+23
-22
src/tutorial/related_work.rst
src/tutorial/related_work.rst
+23
-22
No files found.
src/tutorial/related_work.rst
View file @
cbac7ae5
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
s
uperior optimisations and better integration with scientific Pyth
on
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
s
emantics, as well as superior optimisations and better integrati
on
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/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment