

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Panama.
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. Key features Updated to C++20 with completely revised code and more content on error handling, benchmarking, memory allocators, and concurrent programming Explore the latest C++20 features including concepts, ranges, and coroutines Utilize C++ constructs and techniques to carry out effective data structure optimization and memory management Book Description C++ High Performance, Second Edition intends to guide you through optimizing the performance of your C++ apps by allowing 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 C++ language and some of its modern concepts to you in brief. Once you are familiar with the fundamentals, it enables you to measure and identify bottlenecks in a C++ codebase and how to eradicate them using modern C++ constructs and techniques. In this process, you will gradually improve your style of writing code. You will further dive deep to explore 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 experience 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 developed the ability to use every tool as per its need to boost the efficiency of your C++ project. What you will learn Write specialized data structures for performance-critical code Use modern metaprogramming techniques to reduce runtime calculations Achieve efficient memory management using custom memory allocators Reduce boilerplate code using reflection techniques Reap the benefits of lock-free concurrent programming Gain insights into subtle optimizations used by standard library algorithms Compose algorithms using ranges library Develop the ability to apply metaprogramming aspects such as constexpr, constraints and concepts Implement lazy generators and asynchronous tasks using C++20 coroutines Who this book is for 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. Review: Comprehensive - Written at the right level of depth (not for beginners). Emphasizes modern idioms (C++20). Balanced, thoughtful advice. The comparative language analysis aids in compensation and helps weigh tradeoffs. Review: So far, five stars - I normally like to wait until I have finished reading a book before giving a rating. But I must say that so far, it's very good. The authors do a good job explaining things that other authors make more complicated than they should be. When I finish the book and things change, I'll update my review. But currently, five stars.







| Best Sellers Rank | #343,878 in Books ( See Top 100 in Books ) #11 in Memory Management Algorithms #17 in Parallel Computer Programming #71 in C++ Programming Language |
| Customer Reviews | 4.5 out of 5 stars 200 Reviews |
W**C
Comprehensive
Written at the right level of depth (not for beginners). Emphasizes modern idioms (C++20). Balanced, thoughtful advice. The comparative language analysis aids in compensation and helps weigh tradeoffs.
A**R
So far, five stars
I normally like to wait until I have finished reading a book before giving a rating. But I must say that so far, it's very good. The authors do a good job explaining things that other authors make more complicated than they should be. When I finish the book and things change, I'll update my review. But currently, five stars.
W**O
For beginners
This book is good in going through modern C++ features, but it is for beginners, spent a lot pages to explain basics and not into depth
D**R
Hyphenation of source code. Really?
Was hesitant to buy Kindle version because I’ve found that source code formatting is often less than optimal. Preview provided on website didn’t look bad. Found myself pondering for a second what source code was saying. Suddenly realized that names were hyphenated. It’s a shame author’s hard work spoiled. Frustrated that technical books are much more expensive, even in Kindle format, but not getting additional value for the inflated price tag.
R**N
Great resource!
Great book for anyone looking to up their c++ knowledge and increase efficiency across the board. If your very new to c++ it may not be as easy to read but anyone could ultimately gain from the info within these pages.
A**M
Immensely Practical
If i could only keep one of my c++ books it would be this one. it covers a lot of ground and shows how to use tools in the modern language additions, all while being reasonably concise.
G**A
Super practical book covers C++20 stuff
A very practical book which I enjoyed reading cover to cover.
W**N
Great book on C++, except the publisher did a sloppy work
This is a great book, like the other reviewers have said. 5-star content, no doubt. The publisher, Packt, doesn't do justice to this book, with their sloppy work. 1. Poor paper quality 2. Sections and subsections are hardly identifiable! They don's use numerical section titles like 1, 1.1, 1.1.1. The use different font size to differentiate sections and subsections. It is VERY easy to lose track and that is very annoying 3. The book is > 500 pages (intimidating! I always prefer a technical book to be around 300 pages). With a proper formatting, and typesetting, the book can be easily reduced to 350 pages. I don't understand why the authors choose Packt as the publisher. They are not known for high-quality books and their reputation does not match the book - there are better ones out there. P.S. In the Forward, it is said "Victor and Bjorn are brilliant and experienced developers with a remarkable pedigree" - what in the world does "with a remarkable pedigree" mean? Updates - read the book, but take what it says with a pinch of salt and be careful of the typos and inaccuracies. For example, Page 144, it gives totally wrong interpretation of std::ranges:upper_bound.
A**I
Great book, bad delivery
Arrived package was damaged. Book was recommend by close friend, but this could happen
S**N
Content
Fabulous book
P**O
A book on modern C++ that covers many performance-related topics
The book is well written, easy to read, and full of code snippets that help understand its content. It covers many topics: the first half is about essential modern C++ techniques, algorithms, and data structures, while the second half covers memory management, compile-time programming, multithreading, and coroutines. Covering so many topics in a 500 pages book has the advantage of giving a good general idea of what optimizing code means, how to do so in C++20, and what to be aware of. The downside is that the surface is barely scratched: there are books on algorithms or concurrent programming alone that are longer than this entire book. I was mostly interested in the second half of the book, which has a chapter on memory management that I really wanted to read. I can't say that thanks to this book I now have an in-depth knowledge of how the OS manages memory, but I still learned a lot and I am glad I bought it. A special mention goes to the compile-time programming and multithreading chapters, they are very well done. Finally, a small negative note: the coroutines' chapters, especially the one on asynchronous programming, are quite cryptic compared to the rest of the book. Coroutines are not fully supported in the standard library yet, so even their basic usage is very complex, and at the end of the aforementioned chapters, I felt like I didn't learn that much. I would have preferred a greater focus on other topics, leaving coroutines for a future edition, when they'll be properly supported.
B**E
livre de qualité
beaucoup d'explications permettant de s'améliorer. Pour un public averti
N**L
Very practical and good read
Well written, practical examples, few repetitions and to the point. I have enjoyed the writing style, it is easy to understand and adapt to your own needs.
Trustpilot
1 month ago
2 days ago