Installing Cython
The Cython programming language acts as glue between Python and C/C++. With the Cython tools, we can generate C code from plain Python code, which can then be compiled into binary, which is closer to the machine level. The cytoolz
package contains utilities created by Cythonizing the handy Python toolz
package. The following command will install cython
and cytoolz:
$ pip3 install cython cytoolz
Just as in cooking shows, we will show the results of Cythonizing before going through the process involved (deferred to the next section). The timeit
Python module measures time. We will use this module to measure different functions. Define the following function, which accepts a short code snippet, a function call, and the number of times the code will run as arguments:
def time(code, n): times = min(timeit.Timer(code, setup=setup).repeat(3, n)) return round(1000* np.array(times)/n, 3)
Next, we predefine a large setup string containing all the code. The code is in...