[Python-Dev] PEP 3146: Merge Unladen Swallow into CPython (original) (raw)

Collin Winter collinwinter at google.com
Tue Feb 9 03:47:22 CET 2010


Hi Craig,

On Tue, Feb 2, 2010 at 4:42 PM, Craig Citro <craigcitro at gmail.com> wrote:

Done. The diff is at http://codereview.appspot.com/186247/diff2/5014:8003/7002. I listed Cython, Shedskin and a bunch of other alternatives to pure CPython. Some of that information is based on conversations I've had with the respective developers, and I'd appreciate corrections if I'm out of date.

Well, it's a minor nit, but it might be more fair to say something like "Cython provides the biggest improvements once type annotations are added to the code." After all, Cython is more than happy to take arbitrary Python code as input -- it's just much more effective when it knows something about types. The code to make Cython handle closures has just been merged ... hopefully support for the full Python language isn't so far off. (Let me know if you want me to actually make a comment on Rietveld ...)

Indeed, you're quite right. I've corrected the description here: http://codereview.appspot.com/186247/diff2/7005:9001/10001

Now what's more interesting is whether or not U-S and Cython could play off one another -- take a Python program, run it with some "generic input data" under Unladen and record info about which functions are hot, and what types they tend to take, then let Cython/gcc -O3 have a go at these, and lather, rinse, repeat ... JIT compilation and static compilation obviously serve different purposes, but I'm curious if there aren't other interesting ways to take advantage of both.

Definitely! Someone approached me about possibly reusing the profile data for a feedback-enhanced code coverage tool, which has interesting potential, too. I've added a note about this under the "Future Work" section: http://codereview.appspot.com/186247/diff2/9001:10002/9003

Thanks, Collin Winter



More information about the Python-Dev mailing list