Chapter 12: Design for Performance
This chapter reviews all the performance-related factors and features we have learned in this book and explores the subject of how the knowledge and the understanding we have gained should influence the design decisions we make when developing a new software system or rearchitecting an existing one. We will see how the design decisions impact the performance of the software systems, learn how to make performance-related design decisions in the absence of detailed data, as well as reviewing the best practices for designing APIs, concurrent data structures, and high-performance data structures to avoid inefficiencies. We will explore the following subjects:
- Interaction between the design and performance
- Design for performance
- API design considerations
- Design for optimal data access
- Performance trade-offs
- Making informed design decisions
You will learn how to treat good performance as one of the design goals from the...