Shed Skin
Details
| Last Update: | 2008-01-16 11:01:07 |
| Version: | 0.0.26 |
| License/Program Type: | GPL (GNU General Public License) |
| Publisher: | Mark Dufour |
| Price: | $0.00 |
Description:
Shed Skin is an experimental Python-to-C++ compiler. Shed Skin
accepts pure Python programs, and generates optimized C++ code.
This means that, in combination with a C++ compiler, it allows for
translation of Python programs into highly efficient machine
language. For a set of 16 non-trivial test programs, measurements
show a typical speedup of 2-40 over Psyco, about 12 on average, and
2-220 over CPython, about 45 on average (see Section 5 of my
Master's Thesis on the right). Shed Skin also outputs annotated
source code.
The high performance and elegant approach of Shed Skin (it is
only 6000 lines!) come at a cost. First, it currently only accepts
programs that are statically typed. This simply means that
variables can only ever have a single type. So e.g. a = 1; a =
'1' is not allowed. Of course, a single type can be abstract or
generic (as in C++), so that e.g. a = A(); a = B(), where A and B
have a common base class, is allowed.
Second, Python programs cannot currently freely use the Python
standard library. However, some common imports are supported (see
_.py), and many others can be easily added. The problem is a
practical one, since in theory it is possible to create bindings
for most library modules. A simple work-around can be to only
compile critical parts of a Python program, and communicate with it
through e.g. files and standard in- and output. This way, the
'main' program can use the full Python dynamics and standard
library, and the whole program is written in pure Python.
Shed Skin is still alpha software, and there are some other
minor, mostly temporary, limitations. Please read the Limitations
section carefully, before trying to compile a program. The only
thing I ask in return for making the software available under the
GPL, is that you send me an email when you encounter a problem,
that is not listed among these limitations. This is the fastest way
to getting your program supported, since I typically do not fix
problems I do not know about. Please also let me know if you would
like me to implement certain library calls.
What's New in This Release:
· Support for os, os.path, collections.defaultdict, and
getopt was improved.
· Five missing str methods were added.
· Locale support was improved.
· Many leading underscores were removed from code
generation.
· String addition (a+b+c...) was optimized.
· New documentation and a tutorial were added.
· A Debian package was added.
· Google code hosting is now used.
· Many bugs were squashed.
0 comments
Add to
Shed Skin Version History
Related Software
|
|
From category: Libraries |
| G3D 6.10 is libraries software developed by Matrix. G3D project is a high-performance 3D graphics for games and simulations. G3D is a C++ library for game developers, researchers, and studen... |
|
|
From category: Libraries |
| Crypt::UnixCrypt_XS 0.05 is libraries software developed by Boris Zentner. Crypt::UnixCrypt_XS is a perl xs interface for a portable traditional crypt function. SYNOPSIS use Crypt::... |
|
|
From category: Code-Generators |
| Codavaj 1.2.0 is code generators software developed by Peter Klauser. codavaj is javadoc in reverse. A seemingly useless tool. Arguably of interest only to the most hardcore java hackers. A \"must... |
|
|
From category: Libraries |
| C::Sharp 0.01 is libraries software developed by Simon Cozens. C::Sharp is a parser and Lexer for C Programming Language. SYNOPSIS use C::Sharp; use C::Sharp::Tokener; us... |
|
|
From category: Libraries |
| Bio::Tools::Run::PiseApplication::charge 1.4 is libraries software developed by Catherine Letondal. Bio::Tools::Run::PiseApplication::charge is a Perl module. Bio::Tools::Run::PiseApplicatio... |
|
|
From category: Libraries |
| pycups library is a set of Python bindings for the CUPS API.... |
|
|
From category: Libraries |
| CPAN::Cache 0.02 is libraries software developed by Adam Kennedy. CPAN::Cache is a Perl module abstract locally-cached logical subset of a CPAN mirror. There have been any number of scripts... |
|
|
From category: Libraries |
| Data::Encrypted 0.07 is libraries software developed by Aaron J Mackey. Data::Encrypted is a Perl module to transparently store encrypted data via RSA. SYNOPSIS functional interfa... |
|
|
From category: Libraries |
| BazAR 1.3.1 is libraries software developed by Julien Pilet. BazAR is a computer vision library based on feature point detection and matching. In particular, it is able to quickly detect and regist... |
|
|
From category: Libraries |
| Card Terminal Driver Library 20011112 is libraries software developed by Patrick Finnegan and Nolan Eakins. Card Terminal Driver Library aims to add support for smart card and magnetic stripe card... |
|
|
From category: Libraries |
| Gecode is a portable, accessible, and efficient environment for developing constraint-based systems and applications.... |
|
|
From category: Libraries |
| Convert::Scalar 1.03 is libraries software developed by Marc Lehmann. Convert::Scalar is a Perl module that can convert between different representations of perl scalars. SYNOPSIS us... |
|
|
From category: Interpreters |
| daemons is a ruby script that provides an easy way to wrap existing ruby scripts to be run as a daemon.... |
|
|
From category: Libraries |
| ATK 1.12.3 is libraries software developed by ATK Team. ATK is an accessibility library for GNOME. Requirements: GLib-2.0.0 or better Building: To configure ATK, run the ./... |
|
|
From category: Libraries |
| CL-EMB 0.4.3 is libraries software developed by Stefan Scholl. CL-EMB is a library to embed Common Lisp and special template tags into normal text files. CL-EMB library can be used for dynamically... |
Leave a comment