liveBook · Manning

Performance

As explained in Software Design for Python Programmers

Performance is the measurable operational behavior of software, commonly including response time, throughput, and resource consumption.

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

How Software Design for Python Programmers covers it

How deep it goes
Explains causes, consequences, data-structure choices, and refactoring, without descending into detailed runtime internals.
Examples
Uses a two-second book-search constraint and contrasts lists with comprehensions, slicing, tuples, and NumPy arrays.
What you can do after
Evaluate performance requirements and improve runtime behavior through efficient programming and data-structure choices.
How it connects
Connects performance with nonfunctional requirements, data structures, refactoring, and programming by contract.

Also explained in

Compare how 40 books explain performance →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Software Design for Python Programmers. The section links point to the parts of the book it draws on.