4 ms·
Numba actually uses the Python AST, so it's not too different. Currently it's also using Mark Florisson's Minivect internally to reason about Numpy arrays and a
by pwang 14y ago
Numba actually uses the Python AST, so it's not too different. Currently it's also using Mark Florisson's Minivect internally to reason about Numpy arrays and array expressions. This will be much easier when Numba encounters a Blaze array, since the value transformations will be expressed in the AST, and the index space transformations are more explicitly represented in the Blaze expression graph.
Both projects are designed to work very well with each other, although both have applicability outside the region of integration. Numba will compile regular Python functions that consume Numpy arrays, and will not require Blaze. Blaze will produce lazily-evaluated expression graphs and dataflows on disjoint and out-of-core arrays, and can evaluate these efficiently without Numba. (This is what the Array VM is all about; you can think of it as an improved Numexpr.)