Update 2014/12/23: I should have pointed out long ago that this post has been superseded by my post “Numba nopython mode in versions 0.11 and 0.13 of Numba“.
Lets say you are trying to accelerate a Python function whose inner loop calls a Numpy function, in my case that function was exp. Using the @autojit decorator from Numba should give you good results. It certainly helped make my function faster, but I felt that more speed was hiding somewhere. This post explores how I got back that speed. Today’s code is available as an IPython notebook here: 2014-02-01-LearningPython-NumbaNopythonContext.ipynb. First, I tested my belief by timing three ways to calculate exp of each entry in a large NumPy array. This is the code for the functions: Continue reading