"I originally saw this book as a pre-print for a class taught by Jon on software engineering. I was deeply influenced by the four fundamentals rules: code simplification, problem simplification, relentless suspicion, and early binding which first appeared Elements Programming Style (which I have never read... much to my shame). I can see the influence of this book on every major piece of code I have written as well as how I approach systems which need to be sped up. My single biggest take away was to focus my attention on what will make the biggest difference. For example, if a program is spending all it's time in IO, don't improve the sorting algorithm, go after the IO subsystem."
I first heard of this book from Kent Beck's "eXtreme Programming Explained" (by the way, Kent Beck always provides amazing "Further Reading" lists). I'm right in the middle of a project desperately in need of optimization, so I welcome any books in this area. "Writing Efficient Programs" is a relatively short book, but which for me has the right amount of depth: Jon Bentley illustrates some simple but somewhat realistic problems, with code samples, and then proposes systematic rules that can be applied to speed things up. I especially like the organization of rules: there are things you can do to data structures, things you can change about algorithms, and particular attention you should pay to loops (which tend to be quite expensive). Yes, the book is a little dated, in particular regarding the language (Pascal) and the hardware specifics, but it has been genuinely helpful.