NumPy aware dynamic Python compiler using LLVM
github.com
github.com
(summarizing how Numba differs from Unladen Swallow)
-----
>> what is the difference to http://www.python.org/dev/peps/pep-3146/ ?
To fully expound the difference would take a lot of discussion. But, summarizing:
* Numba is not nearly as ambitious as US (Numba will be fine with some user-directed information and with a subset of the language that gets compiled)
* Numba will focus on compilation rather than JITing --- in other words it won't be trying to detect hot-spots and compile segments (actually LLVM is not a good candidate for that sort of thing as it is not a very fast or memory-efficient compiler for a lot of reasons, I believe this is why PyPy does not use it anymore, for example).
* Numba will be much closer to Cython in spirit than Unladen Swallow (or PyPy) --- people who just use Cython for a loop or two will be able to use Numba instead
* Numba will borrow the idea of call-sites from IronPython wherein a function is replaced by a generic function that dispatches based on input types to either cached compiled code for the types specified or the generic function.
* Numba will be mainly about trying to leverage the code-generation of LLVM which multiple hardware manufacturers are using (Intel's OpenCL support, Nvidia's PTX backend, Apple's CLang, etc.) for NumPy arrays
-Travis
It would be nice to see some benchmarks.
If Numba lives up to expectations, Travis Oliphant should be knighted.
Personally, numerical computing is more important to me. So the 7 benchmarks listed at julialang.org seem great to me.