Summary
You've reached the end of the chapter and, with it, the end of this book. The examples provided in this last chapter are meant to show how a random piece of code can be analyzed and improved using the techniques shown in the previous chapters.
As not all techniques are compatible with each other, not all of them were applicable here. However, we were able to see how some of them work, more specifically, multithreading, profiling with cProfile
and kcachegrind
, and finally, compilation with Cython.
Thank you for reading and, hopefully, enjoying the book!