Thinking Clearly About Performance, Part 2. - MILLSAP, CARY (Communications of the ACM, 2010)
The article, the second of a series which began in the September 2010 issue of the journal, analyzes principles of software design. It focuses on high-performance software, and heuristics which can help identify methods of improving performance. Specific factors discussed include risk minimization, efficiency of execution, and queuing and coherency delays caused by increased system loads. The concept of a knee is explained, as a section of a curve where response times and throughput are optimally balanced. The pernicious aspects of surrogate measures and the benefits of performance instrumentation are also discussed.