Shed Skin

An optimizing (restricted) Python-to-C++ compiler
Download

Shed Skin Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Mark Dufour
  • Publisher web site:
  • http://code.google.com/p/shedskin/
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 277 KB

Shed Skin Tags


Shed Skin Description

An optimizing (restricted) Python-to-C++ compiler Shed Skin is an experimental compiler, that can translate pure, but implicitly statically typed Python programs into optimized C++. Shed Skin can generate stand-alone programs or (simple, for now) extension modules, that can be imported and used from larger Python programs.Besides the typing restriction, programs cannot freely use the Python standard library (although about 17 common modules, such as random and re, are currently supported). Also, not all Python features, such as nested functions and variable numbers of arguments, are supported.For a set of 27 non-trivial test programs (at about 7,000 lines in total), measurements show a typical speedup of 2-40 times over Psyco, and 2-220 times over CPython. Because Shed Skin is still in an early stage of development, however, a lot of other programs will not be able to compile out-of-the-box. What's New in This Release: 7 new example programs (some removed, now 40 in total): · disco: a simple monte carlo + UCT go player (368 lines, mark dufour) · a more advanced voronoi algorithm (795 lines; steve fortune, bill simons) · a nicer neural network implementation (raymond hettinger, jeff hinrichs) · TSP approximation using ant colonies (eric rollins) · Lempel-Ziv compressor (david mackay) · huffman block compressor (david mackay) · arithmetic coding compressor (david mackay) · many inlining optimizations · huge speedups for 'for .., .. in enumerate/zip(sequence, sequence)' · important TI fix (involving default arguments) · fixes for 'import as' · follow module initialization order · optimized 'len(list)' (remove virtual call) · optimized list slicing (when step is 1) · drop compatibility with 2.3, follow 2.6 implementation · fysphun example now uses an extension module · variable with name underscore no special case anymore (could be dynamic) · cleaned up compiler core further, removing about 100 lines again · many minor bugfixes


Shed Skin Related Software