Viktor Sehr, Bjorn Andrist, "C++ High Performance: Boost and optimize the performance of your C++17 code"
English | ISBN: 1787120953 | 2018 | EPUB | 374 pages | 3,2 MB
English | ISBN: 1787120953 | 2018 | EPUB | 374 pages | 3,2 MB
Write code that scales across CPU registers, multi-core, and machine clusters
Key Features
Explore concurrent programming in C++
Identify memory management problems
Use SIMD and STL containers for performance improvement
Book Description
C++ is a highly portable language and can be used to write complex applications and performance-critical code. It has evolved over the last few years to become a modern and expressive language. This book will 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. The book begins by helping you to identify the bottlenecks in C++. It then moves on to measuring performance, and you'll see how this affects the way you write code. Next, you'll see the importance of data structure optimization and how it can be used efficiently. After that, you'll see which algorithm should be used to achieve faster execution, followed by how to use STL containers. Moving on, you'll learn how to improve memory management in C++. You'll get hands on experience making use of multiple cores to enable more efficient and faster execution. The book ends with a brief overview of utilizing the capabilities of your GPU by using Boost Compute and OpenCL.
What you will learn
Find out how to use exciting new tools that will help you improve your code
Identify bottlenecks to optimize your code
Develop applications that utilize GPU computation
Reap the benefits of concurrent programming
Write code that can protect against application errors using error handling
Use STL containers and algorithms effciently
Extend your toolbox with Boost containers
Achieve effcient memory management by using custom memory allocators
Who This Book Is For
If you're a C++ developer looking to improve the speed of your code or simply wanting to take your skills up to the next level, then this book is perfect for you.
Table of Contents
A Brief Introduction to C++
Modern C++ concepts
Measuring performance
Data structures
A deeper look at iterators
STL Algorithms and Beyond
Memory management
Meta programming and compile time evaluation
Proxy objects and lazy evaluation
Concurrency
Parallell STL