C++ High Performance: Boost and optimize the performance of your C++17 code - Softcover

Viktor Sehr; Bjorn Andrist

  • 4.44 out of 5 stars
    27 ratings by Goodreads
 
9781787120952: C++ High Performance: Boost and optimize the performance of your C++17 code

Synopsis

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

  1. A Brief Introduction to C++
  2. Modern C++ concepts
  3. Measuring performance
  4. Data structures
  5. A deeper look at iterators
  6. STL Algorithms and Beyond
  7. Memory management
  8. Meta programming and compile time evaluation
  9. Proxy objects and lazy evaluation
  10. Concurrency
  11. Parallell STL

"synopsis" may belong to another edition of this title.

About the Author

Viktor Sehr is the main developer at Toppluva, working with a highly-optimized graphics engine aimed for mobile hardware.

He has 10 years of professional experience using C++, with real-time graphics, audio, and architectural design as his focus areas. Through his career, he has developed medical visualization software at Mentice and Raysearch Laboratories as well as real-time audio applications at Propellerhead Software. Viktor holds an M.S. in media science from Linköping University.

Björn Andrist is a freelance software consultant currently focusing on audio applications. For more than 10 years, he has been working professionally with C++ in projects ranging from Unix server applications to real-time audio applications on desktop and mobile. In the past, he has also taught courses in algorithms and data structures, concurrent programming, and programming methodologies. Björn holds a BS in computer engineering and an MS in computer science from KTH Royal Institute of Technology.

"About this title" may belong to another edition of this title.