Shed Skin Python-to-C++ Compiler - Summer of Code?

Mark Dufour mark.dufour at
Thu May 4 15:03:14 CEST 2006

Hello all,

As Bearophile pointed out, I have just released Shed Skin 0.0.8. For
those of you that do not know Shed Skin, it is an optimizing
Python-to-C++ compiler, that allows for translation of pure
(unmodified) Python programs into optimized machine language. The
speed of generated code is typically 2-40 times, 12 on average, faster
than when using Psyco, and 2-220 times, 45 on average, than when using
CPython, for a sizeable set of benchmarks (such as a raytracer, chess
player, othello player, neural network sim, sat solver, several sudoku
solvers..) See for a more detailed
introduction to Shed Skin, its current limitations, and a link to my
Master's Thesis, which contains more precise results and an
explanation of how the compiler works.

Now that I have released a fairly clean and stable (but still very
much alpha!) version of my compiler, I would like to invite other
people to join the project. Seeing that the SoC application deadline
for this year is only in about a week (:P), this would be a nice way
to help out and get started in SS development. Note that I did a SoC
project on SS last year, which has improved it tremendously.

Two important aspects that still need to be investigated are memory
optimizations (e.g. transforming heap allocation into stack- and
static preallocation), more efficient string support (rather than
using the inefficient C++ STL string type) and looking at integration
with the standard library and calling compiled code from Python. Note
that especially memory optimizations would also be an interesting
Master's Thesis topic. Again, see
for more details about possible ways to help out. Please let me know
if you are even remotely interested :-)

Otherwise, a simple way to also help out, is to send me bug reports of
small code fragments that SS does not compile correctly, or you can
just send me complete programs. Bug reports are always motivating,
make my work more time-efficient, and are the best way to getting your
own programs supported.

"How should I know if it works? That's what beta testers are for. I
only coded it." - Linus Torvalds

More information about the Python-list mailing list