A comprehensive guide to help aspiring and professional C++ developers elevate the performance of their apps by allowing them to run faster and consume fewer resources. Purchase of the print or Kindle book includes a free eBook in PDF format. C++ High Performance, Second Edition guides you through optimizing the performance of your C++ apps. This allows them to run faster and consume fewer resources on the device they're running on without compromising the readability of your codebase. The book begins by introducing the C++ language and some of its modern concepts in brief. Once you are familiar with the fundamentals, you will be ready to measure, identify, and eradicate bottlenecks in your C++ codebase. By following this process, you will gradually improve your style of writing code. The book then explores data structure optimization, memory management, and how it can be used efficiently concerning CPU caches. After laying the foundation, the book trains you to leverage algorithms, ranges, and containers from the standard library to achieve faster execution, write readable code, and use customized iterators. It provides hands-on examples of C++ metaprogramming, coroutines, reflection to reduce boilerplate code, proxy objects to perform optimizations under the hood, concurrent programming, and lock-free data structures. The book concludes with an overview of parallel algorithms. By the end of this book, you will have the ability to use every tool as needed to boost the efficiency of your C++ projects. If you're a C++ developer looking to improve the efficiency of your code or just keen to upgrade your skills to the next level, this book is for you.
whew. that's really something. honestly, a lot of really good examples and great explanations. if only doing the exercises was as easy as just reading it, though. really good for what it is!
Abysmal. There is almost nothing about performance itself in this book — I don't count "use std::move" or "use threading" as anything to do with the art of optimizing my C++ code, let alone mastering it. This book is more like a brief and shallow tour of some of the newer C++ features, with the authors saying "this is too hard for this book, this is outside the scope of this book" any time things could have gotten interesting. Ah, and this book has factual errors, non-trivial typos, and just gives bad advice more often than I'd like.
There are far better ways to spend your time. Read the Agner Fog's freely available optimization manual. Or Kukunas' "Power and Performance" book. Hell, even the blog at the amusingly named "Johnny's Software Lab" is vastly more instructive than this.