Performance Bugs

A performance bug is a minor glitch that does not alter the correctness of a program but does cause it to consume excessive resources. This talk begins with sketches of two tiny such bugs in large software systems. The next part of the talk surveys a variety of little mistakes that had big consequences in run time, memory usage or communication volume. Along the way, we examine experimental techniques for measuring the performance of software. The talk concludes with a systematic view of the topic and suggestions for avoiding these insidious bugs.