Numba - JIT specializing compiler for annotated Python and NumPy code to LLVM
numba.pydata.org
numba.pydata.org
http://jakevdp.github.io/blog/2013/06/15/numba-vs-cython-tak...
The downside is that Numba can't yet translate any old function you give it, especially if it involves string manipulation (as the name suggests, the focus is numeric). But it's still quite a young tool, and I'm optimistic that that will improve.
But one of the nice things about NumPy is that it allows you to make very complicated operations largely transparent thanks to broadcasting. Just compare pairwise_numpy vs. pairwise_python on the blog post you linked. I don't think anyone really favours the version that you can apply the Numba JIT to.
I know that I will cave eventually when I am desperate for speed, I already do write C99 extensions at times (not for numerical code though). I just wish there was a way to use expressions rather than going full imperative to gain some of that speed.
I'm not sure which approach is better.
Some core PyPy people suggest against using RPython for anything else than what they intended it to use (like writing an interpreter). See:
http://mail.python.org/pipermail/pypy-dev/2013-June/011498.h...
http://mail.python.org/pipermail/pypy-dev/2013-June/011503.h...