How to Make Things Faster

Book description

Slow systems are frustrating. They waste time and money. But making consistently great decisions about performance can be easy, if you understand what's going on. This book explains in a clear and thoughtful voice why systems perform the way they do. It's for anybody who's curious about how computer programs and other processes use their time and about what you can do to improve them.

Through a mix of personal vignettes and technical use cases, Cary Millsap reviews the process of improving performance and provides best practices for optimizing systems efficiently. You'll learn how to identify the information needed to improve a system, how to find the root causes of performance issues, and how to fix them. You'll also learn how performance optimization is both a skill set and a mindset, and how to develop both over time.

If you're a computer professional whose success relies on software that goes fast, by the end of this book you'll be able to identify, view, scope, analyze, and remedy performance issues with consistency and confidence.

Publisher resources

View/Submit Errata

Table of contents

  1. Foreword
  2. Preface
    1. Acknowledgments
    2. Conventions Used in This Book
    3. O’Reilly Online Learning
    4. How to Contact Us
  3. I. Look at It
  4. 1. Bob
  5. 2. Phyllis
  6. 3. The Real Goal
  7. 4. Nancy
  8. 5. Looking at the Right It
  9. 6. When You Can’t Look at It
  10. II. Method
  11. 7. Forty-Nine Grievances
  12. 8. The Shipping Labels Problem
  13. 9. More Grievances
  14. 10. Priority
  15. 11. But My Whole System Is Slow
  16. 12. Collateral Benefit
  17. 13. The Silver Bullet
  18. 14. The List
  19. 15. Method R
  20. III. Profiling
  21. 16. Payroll
  22. 17. The Sequence Diagram
  23. 18. The Gantt Chart
  24. 19. Tracing
  25. 20. The Profile
  26. 21. Creating a Profile
  27. IV. Measuring Performance
  28. 22. Performance Is a Feature
  29. 23. The Reproducible Test Case
  30. 24. Intermittent Problems
  31. 25. How Much to Trace
  32. 26. Identifying Experiences
  33. 27. Measurement Intrusion
  34. V. Optimizing
  35. 28. A Riddle
  36. 29. A Game
  37. 30. Event Count
  38. 31. Event Duration
  39. 32. Filter Early
  40. 33. Look Left
  41. 34. Tow–Millsap Law
  42. 35. The Bottleneck
  43. 36. Beware the “System Bottleneck”
  44. 37. The Problem with Optimizing Subsystems
  45. 38. Every Problem Is a Skew Problem
  46. 39. Critical Path
  47. VI. Delays
  48. 40. Kevin
  49. 41. Queueing Delay
  50. 42. Queueing Theory
  51. 43. The Hyperbola
  52. 44. Traffic Intensity
  53. 45. Utilization
  54. 46. Hyperbolic Leverage
  55. 47. Coherency Delay
  56. 48. Delays and Throughput
  57. VII. Waste
  58. 49. Debra
  59. 50. The Ramp
  60. 51. Martha
  61. 52. Efficiency
  62. 53. Fix It, or Feed It?
  63. 54. Yeti
  64. 55. Fast vs. Efficient
  65. 56. Scalability
  66. VIII. Problem Solving
  67. 57. Four Simple Questions
  68. 58. Reaching the End of Your Data
  69. 59. Your C-Level Feedback Loop
  70. 60. Collateral Damage
  71. 61. Too Much of a Good Thing
  72. 62. Doug
  73. 63. When Are You Done?
  74. IX. Predicting
  75. 64. Richard
  76. 65. Why Predict?
  77. 66. Predicting with Profiles
  78. 67. Go/No-Go Predictions
  79. 68. Linear Behavior
  80. 69. Skew
  81. 70. Event Interdependencies
  82. 71. Nonlinear Behavior
  83. X. Latency Hiding
  84. 72. Mom
  85. 73. Dominic
  86. 74. Parallelization
  87. 75. How to Melt a System
  88. 76. Multitasking
  89. 77. Human Multitasking
  90. XI. Fallacies
  91. 78. The Evil Genie
  92. 79. The Leather Jacket
  93. 80. The Buried Outlier
  94. 81. Be Careful What You Wish For
  95. 82. Percentile Specifications
  96. 83. The Hit Rate Problem
  97. 84. The MPG Problem
  98. 85. The Ratio Trick
  99. 86. Even Throughput and Response Time?
  100. 87. Are Ratios Useless?
  101. 88. When Ratios Are Reliable
  102. 89. Describing Performance Improvements
  103. 90. The “n Times Faster” Myth
  104. XII. Testing
  105. 91. Why Test?
  106. 92. Risk
  107. 93. Destructive Testing
  108. 94. Testing Is Not a Phase
  109. 95. Automated Testing
  110. 96. Preventing Problems
  111. XIII. Planning
  112. 97. Mrs. Utley
  113. 98. Capacity Planning
  114. 99. Utilization Targets
  115. 100. When to Upgrade
  116. XIV. Politics
  117. 101. Proving
  118. 102. The Problem with Underpromising
  119. 103. Seven Project Risk Magnifiers
  120. 104. Fail Fast
  121. 105. Face
  122. 106. The Jeweler’s Method
  123. 107. Change Control
  124. 108. Record Keeping
  125. 109. Failure
  126. 110. Don’t Worry, Be Nervous
  127. XV. Just for Fun
  128. 111. Optimizing for Kids
  129. Glossary
  130. References
  131. Index
  132. About the Author

Product information

  • Title: How to Make Things Faster
  • Author(s): Cary Millsap
  • Release date: June 2023
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781098147013