fa26-cs759 cs759
Chapter 5: Optimizing Program Performance Chapter 5: Optimizing Program Performance
Content locked
The catalog is public. Reading this content requires approved access.
Sign in to readChapter 5: Optimizing Program Performance
Optimizing Program Performance
5.1 Capabilities and Limitations of Optimizing Compilers
Practice Problem 5.1 (solution page 609)
Aside Optimizing function calls by inline substitution
5.2 Expressing Program Performance
Aside What is a least squares fit?
Practice Problem 5.2 (solution page 609)
5.3 Program Example
5.4 Eliminating Loop Inefficiencies
(b)
Practice Problem 5.3 (solution page 609)
5.5 Reducing Procedure Calls
5.6 Eliminating Unneeded Memory References
Practice Problem 5.4 (solution page 610)
5.7 Understanding Modern Processors
5.7.1 Overall Operation
Aside The history of out-of-order processing
5.7.2 Functional Unit Performance
5.7.3 An Abstract Model of Processor Operation
From Machine-Level Code to Data-Flow Graphs
Other Performance Factors
Practice Problem 5.5 (solution page 611)
Practice Problem 5.6 (solution page 611)
5.8 Loop Unrolling
Practice Problem 5.7 (solution page 611)
Aside Getting the compiler to unroll loops
5.9 Enhancing Parallelism
5.9.1 Multiple Accumulators
5.9.2 Reassociation Transformation
Practice Problem 5.8 (solution page 612)
Web Aside OPT:SIMD Achieving greater parallelism with vector instructions
5.10 Summary of Results for Optimizing Combining Code
5.11 Some Limiting Factors
5.11.1 Register Spilling
5.11.2 Branch Prediction and Misprediction Penalties
Do Not Be Overly Concerned about Predictable Branches
Write Code Suitable for Implementation with Conditional Moves
Practice Problem 5.9 (solution page 612)
5.12 Understanding Memory Performance
5.12.1 Load Performance
5.12.2 Store Performance
Practice Problem 5.10 (solution page 613)
Practice Problem 5.11 (solution page 613)
Practice Problem 5.12 (solution page 613)
5.13 Life in the Real World: Performance Improvement Techniques
5.14 Identifying and Eliminating Performance Bottlenecks
5.14.1 Program Profiling
5.14.2 Using a Profiler to Guide Optimization
5.15 Summary
Bibliographic Notes
Homework Problems
5.13 ◆◆
5.14 ◆
5.15 ◆
5.16 ◆
5.17 ◆
5.19 ◆◆◆
Solutions to Practice Problems
Solution to Problem 5.1 (page 536)
Solution to Problem 5.2 (page 540)
Solution to Problem 5.3 (page 548)
Solution to Problem 5.4 (page 552)
Solution to Problem 5.5 (page 566)
Solution to Problem 5.6 (page 566)
Solution to Problem 5.7 (page 568)
Solution to Problem 5.8 (page 581)
Solution to Problem 5.9 (page 589)
Solution to Problem 5.10 (page 595)
Solution to Problem 5.11 (page 597)
Solution to Problem 5.12 (page 597)
Source footnotes