Hacker News new | ask | show | jobs
Pyjion – A JIT for Python based upon CoreCLR (github.com)
72 points by Lofkin 3798 days ago
5 comments

One of the most promissing projects :

  * it keeps CPython as is.
  * hence retains compat with extensions.
  * but still has the potential to improve performance like pypy.
  * and yet can be shipped just as an additional compiled lib inside the Python dist.
If it ever works, it will be wonderful.
It would also be nice if it worked outside of Windows.
I had the same though and looked into it. It seems that CoreCLR isn't the limitation there. It supports a variety of platforms: https://github.com/dotnet/coreclr#build-status

Looks like the authors are focused on Windows for their initial prototype development.

Yep. They are MS ingenieers, of course Windows is easier for them. Plus it's good publicity. Given that they are paying for it, it's fair they start like that.
Exactly, we started on Windows out of ease-of-start/momentum. There are absolutely no plans to make this a Windows-exclusive. Basically we want to show this work pans out before working before putting in the work to make it cross-platform (we have an open issue to move to CMake to help solve the cross-platform problem: https://github.com/Microsoft/Pyjion/issues/76).
Exciting work! Is pyjion exploratory or is MS determined to see this through?
if the speedups pan out, that is the plan! the work on performance has not been started yet however.
Awesome!

A while back there was some talk of native excel-python integration. Any chance that is in the pipes, or is MS sticking to R in that sense?

Sounds great. Looking forward to testing it out.
Here's their list of passing and failing CPython tests:

https://github.com/Microsoft/Pyjion/blob/master/Tests/python...

One thing to note about the list of failing tests is the vast majority of them are due to a single bug (or two): https://github.com/Microsoft/Pyjion/issues/103 . And we currently only have 11 open bugs so the test failures make it look worse than it is.
Thanks to all of the great questions we got, we have now written an FAQ for the project: https://github.com/Microsoft/Pyjion#faq
How does Pygion compare with IronPython?
From reading the description, and from what little I know about IronPython...

IronPython is a re-implementation of Python in C# which allows it to play nice with .NET. This is similar to Jython which is a re-implementation of Python in Java that plays nice with the JVM.

This project on the other had is not a re-implementation at all, but aims to augment the existing CPython implementation with JIT APIs and is using CoreCLR for the JIT.

What ericfrederich said is all accurate. We are also considering playing with ChakraCore as a JIT back-end as well once we are sure that our abstract interpreter code that drives the JIT emission code is compatible with Python semantics.
Woah!!! Cool
Is there a PEP for this, or is it too early, more of a proof of concept?
It's too early. We want to prove to ourselves that we can get the performance we want before proposing the changes we think we want to CPython's C API.