Before we get our hands dirty doing some performance analysis, we must first spend some time understanding some core concepts and aspects of performance.
A good application is one that has a set of desirable characteristics, which includes:
- Functionality
- Reliability
- Usability
- Reusability
- Efficiency
- Maintainability
- Portability
Over the course of this book so far, we have learned a lot about maintainability and reusability. In this chapter, we will focus on performance, which is closely related to reliability and maintainability.
The term performance refers to the amount of useful work accomplished compared with the time and resources used. A resource is a physical (such as CPU, RAM, GPU HDD, and so on) or virtual (such as CPU times, RAM regions, files, and so on) component with limited availability. Because the availability of a resource is limited,...