Brief explanations of why performance analysis and optimization are important, followed by a deep dive into the hows and wheres, are provided in this book. Even though it uses Intel architecture and the Linux operating system as use cases, it covers the intended topics with enough clarity and depth to serve both as a potential textbook and as a reference for practitioners. It is organized into three parts, each with multiple chapters.
Part 1, “Background Knowledge,” starts by covering Intel architecture history with the intent of explaining the status quo--that is, how it evolved to include new functionality, more power, more performance, and yet remain backwards-compatible. The last two chapters in Part 1 are called “Performance Workflow” and “Designing Experiments.” They are a good introduction for anyone interested in learning what it involves to do good performance work, from problem statement to testing, choosing adequate metrics, controllable versus uncontrollable parameters, and so on. An existing testing suite is used as a practical example.
Part 2 is called “Monitors” and addresses existing performance tools. Its first chapter explains performance counters and how they may be used to detect performance issues. The next five chapters in Part 2 are each devoted to a specific tool or group of tools such as VTune, Perf, Ftrace, or Graphics Profiling.
Finally, Part 3, called “Optimization Techniques,” contains five chapters. The first and longest chapter covers what the author calls “a set of tools for building, inspecting, and modifying software,” including compiler flags, some key functions, programming techniques such as using appropriate types and qualifiers, loop unrolling, and so on. The last four chapters cover branching, cache usage, parallelism, and some Intel special instructions.
This one of the best technical books I have read in a while. Having said that, there is some room for improvement on the organization front: some important terms, for example model-specific registers (MSR), are missing from the index, and a glossary would be nice.
More reviews about this item: Amazon