Chapter 7. Performance – Identifying Bottlenecks
So far, you have learned various ways to make the application robust and accommodating for new features. Now, let's discuss techniques to improve the application performance. This broad topic is split into a series of three chapters—this is the first one in this series. It will cover the following topics:
- Basic ways to clock the application runtime
- How to identify the runtime performance bottlenecks by profiling the code
- Basic memory profiling with the
memory_profiler
package - Big O notation for the computational complexity
To understand these concepts better, we will develop an interesting game scenario called Gold Hunt. You will soon realize that the application runs very slow when you increase the input data size. This chapter will elaborate on techniques to pinpoint such problems.