Performance is the observable efficiency of software at runtime. Poor performance appears as longer running times or excessive memory and resource use, even when functional requirements are satisfied. section 6.2 section 6.4
Improve performance by matching implementation choices to requirements:
- Treat performance as a nonfunctional requirement rather than an afterthought. section 3.3
- Use built-in list features such as comprehensions and slicing, or consider tuples and NumPy arrays instead of lists. section 6.4
A measurable search requirement
A book search must complete in under two seconds. This requirement defines an acceptable performance outcome without prescribing the design or implementation. section 3.3







































