Summary
With this chapter, we end the series of chapters focused on performance improvements. Let's first summarize what you learned in this chapter. We started with a basic introduction to the NumPy library and saw how to leverage it to further speed up the Gold Hunt application. In particular, we used the array (numpy.ndarray
) data structure and other functionalities, such as numpy.random.uniform
and numpy.einsum
to achieve the speedup. The final optimization pass involved parallelizing the code. The chapter briefly introduced you to the basics of parallel processing. We used functionality from Python's multiprocessing.Pool
class to further trim down the application runtime.
Finally, let's summarize the three performance chapters together. We started by profiling the code to identify the performance bottlenecks and learned about the big O notation. We gradually addressed these bottlenecks to improve the application performance. This was accomplished by several means, ranging from changing...