Chapter 28. Software Performance

Table of Contents

28.. Motivation
28.. Performance Factors
28.. Analysis of Algorithms
Order of Operations: Big-O
Predicting Run Time
Determining Order
Common Algorithms
28.. Language Selection
28.. Implementation Factors
Hardware Utilization
28.. Hardware Speed
28.. Performance Measurement
Timing Programs
Profiling: Timing Subprograms
28.. Homework

Motivation

Many computing tasks, especially in scientific research, can take days, weeks, or months to run. Knowing how to predict the run time for a given program and set of inputs is critical to making research deadlines.