Numba has several code-generation utilities that generate machine code out of Python code. One of its central features is the @numba.jit decorator. This decorator allows you to mark a function for optimization by Numba's compiler. For example, the following function calculates the product of all the elements in an array:
@numba.jit(nopython=True)def product(a): result = 1 for i in range(len(a)): result*=a[i] return result
It can be viewed as a np.product. custom implementation. The decorator tells Numba to compile the function into machine code, which results in much faster execution time compared to the Python version. Numba always tries to compile the specified function. In the case of operations in the function ...