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
Table of contents
- Foreword
- Preface
- I. Look at It
- 1. Bob
- 2. Phyllis
- 3. The Real Goal
- 4. Nancy
- 5. Looking at the Right It
- 6. When You Can’t Look at It
- II. Method
- 7. Forty-Nine Grievances
- 8. The Shipping Labels Problem
- 9. More Grievances
- 10. Priority
- 11. But My Whole System Is Slow
- 12. Collateral Benefit
- 13. The Silver Bullet
- 14. The List
- 15. Method R
- III. Profiling
- 16. Payroll
- 17. The Sequence Diagram
- 18. The Gantt Chart
- 19. Tracing
- 20. The Profile
- 21. Creating a Profile
- IV. Measuring Performance
- 22. Performance Is a Feature
- 23. The Reproducible Test Case
- 24. Intermittent Problems
- 25. How Much to Trace
- 26. Identifying Experiences
- 27. Measurement Intrusion
- V. Optimizing
- 28. A Riddle
- 29. A Game
- 30. Event Count
- 31. Event Duration
- 32. Filter Early
- 33. Look Left
- 34. Tow–Millsap Law
- 35. The Bottleneck
- 36. Beware the “System Bottleneck”
- 37. The Problem with Optimizing Subsystems
- 38. Every Problem Is a Skew Problem
- 39. Critical Path
- VI. Delays
- 40. Kevin
- 41. Queueing Delay
- 42. Queueing Theory
- 43. The Hyperbola
- 44. Traffic Intensity
- 45. Utilization
- 46. Hyperbolic Leverage
- 47. Coherency Delay
- 48. Delays and Throughput
- VII. Waste
- 49. Debra
- 50. The Ramp
- 51. Martha
- 52. Efficiency
- 53. Fix It, or Feed It?
- 54. Yeti
- 55. Fast vs. Efficient
- 56. Scalability
- VIII. Problem Solving
- 57. Four Simple Questions
- 58. Reaching the End of Your Data
- 59. Your C-Level Feedback Loop
- 60. Collateral Damage
- 61. Too Much of a Good Thing
- 62. Doug
- 63. When Are You Done?
- IX. Predicting
- 64. Richard
- 65. Why Predict?
- 66. Predicting with Profiles
- 67. Go/No-Go Predictions
- 68. Linear Behavior
- 69. Skew
- 70. Event Interdependencies
- 71. Nonlinear Behavior
- X. Latency Hiding
- 72. Mom
- 73. Dominic
- 74. Parallelization
- 75. How to Melt a System
- 76. Multitasking
- 77. Human Multitasking
- XI. Fallacies
- 78. The Evil Genie
- 79. The Leather Jacket
- 80. The Buried Outlier
- 81. Be Careful What You Wish For
- 82. Percentile Specifications
- 83. The Hit Rate Problem
- 84. The MPG Problem
- 85. The Ratio Trick
- 86. Even Throughput and Response Time?
- 87. Are Ratios Useless?
- 88. When Ratios Are Reliable
- 89. Describing Performance Improvements
- 90. The “n Times Faster” Myth
- XII. Testing
- 91. Why Test?
- 92. Risk
- 93. Destructive Testing
- 94. Testing Is Not a Phase
- 95. Automated Testing
- 96. Preventing Problems
- XIII. Planning
- 97. Mrs. Utley
- 98. Capacity Planning
- 99. Utilization Targets
- 100. When to Upgrade
- XIV. Politics
- 101. Proving
- 102. The Problem with Underpromising
- 103. Seven Project Risk Magnifiers
- 104. Fail Fast
- 105. Face
- 106. The Jeweler’s Method
- 107. Change Control
- 108. Record Keeping
- 109. Failure
- 110. Don’t Worry, Be Nervous
- XV. Just for Fun
- 111. Optimizing for Kids
- Glossary
- References
- Index
- About the Author
Product information
- Title: How to Make Things Faster
- Author(s):
- Release date: June 2023
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781098147013
You might also like
audiobook
The Design of Everyday Things
First, businesses discovered quality as a key competitive edge; next came science. Now, Donald A. Norman, …
book
The Art of Agile Development, 2nd Edition
Most companies developing software employ something they call "Agile." But there's widespread misunderstanding of what Agile …
audiobook
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
Data is at the center of many challenges in system design today. Difficult issues need to …
book
The Programmer's Brain
Your brain responds in a predictable way when it encounters new or difficult tasks. This unique …