I am wondering if anyone knows some of the key differences between the parakeet and the Numba jit? I am curious, because I was comparing Numexpr to Numba and parakeet, and for this particular expression (which I expected to perform very very well on Numexpr, because it was the one that is mentioned in its documentation)
So the results are
and the functions I tested (via timeit - minimum of 3 repetitions and 10 loops per function)
import numpy as np
import numexpr as ne
from numba import jit as numba_jit
from parakeet import jit as para_jit
def numpy_complex_expr(A, B):
return(A*B-4.1*A > 2.5*B)
def numexpr_complex_expr(A, B):
return ne.evaluate('A*B-4.1*A > 2.5*B')
@numba_jit
def numba_complex_expr(A, B):
return A*B-4.1*A > 2.5*B
@para_jit
def parakeet_complex_expr(A, B):
return A*B-4.1*A > 2.5*B
I you can also grab the IPython nb if you'd like to double-check the results on your machine.
If someone is wondering if Numba is installed correctly... I think so, it performed as expected in my previous benchmark: