Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>

WEEK'S BEST

  • BackTrack 5 R1
  • Wine 1.2.3 / 1.4 RC3
  • Mozilla Firefox 10...
  • Ubuntu 11.04
  • Angry Birds 1.1.2.1
  • Ubuntu 10.04.3 LTS
  • Linux Kernel 3.2.6
  • Ubuntu Manual 10.10
  • Adobe Flash Player...
  • Pidgin 2.10.1
  • Home > Linux > Programming > Compilers

    Shed Skin 0.9.1

    Download button

    No screenshots available
    Downloads: 2,311  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    Good (3.4/5)
    22 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Mark Dufour | More programs
    GPL / FREE
    January 17th, 2012, 09:28 GMT [view history]
    ROOT / Programming / Compilers

     Read user reviews (0)  Refer to a friend  Subscribe

    Shed Skin description

    Shed Skin is an experimental Python-to-C++ compiler.

    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.


    Product's homepage

    What's New in This Release: [ read full changelog ]

    · Scalability was again greatly improved.
    · Performance of file I/O and complex numbers was greatly improved.
    · Three new modules are supported.
    · Six new example programs were added.
    · There were many other bugfixes and improvements.

      


    TAGS:

    Python to C++ | Python compiler | C++ compiler | Shed | Skin | Python



    HTML code for linking to this page:


    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM