C++ High Performance

Boost and optimize the performance of your C++17 code

Nonfiction, Computers, Programming, C & C++, C++, Programming Languages, General Computing
Cover of the book C++ High Performance by Viktor Sehr, Björn Andrist, Packt Publishing
View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart
Author: Viktor Sehr, Björn Andrist ISBN: 9781787124776
Publisher: Packt Publishing Publication: January 31, 2018
Imprint: Packt Publishing Language: English
Author: Viktor Sehr, Björn Andrist
ISBN: 9781787124776
Publisher: Packt Publishing
Publication: January 31, 2018
Imprint: Packt Publishing
Language: English

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 both large-scale 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 without compromising the readability of your code base.

The book begins by helping you measure and identify bottlenecks in a C++ code base. It then moves on by teaching you how to use modern C++ constructs and techniques. You'll see how this affects the way you write code. Next, you'll see the importance of data structure optimization and memory management, and how it can be used efficiently with respect to CPU caches. After that, you'll see how STL algorithm and composable Range V3 should be used to both achieve faster execution and more readable code, followed by how to use STL containers and how to write your own specialized iterators.

Moving on, you’ll get hands-on experience in making use of modern C++ metaprogramming and reflection to reduce boilerplate code as well as in working with proxy objects to perform optimizations under the hood. After that, you’ll learn concurrent programming and understand lock-free data structures. The book ends with an overview of parallel algorithms using STL execution policies, Boost Compute, and OpenCL to utilize both the CPU and the GPU.

What you will learn

  • Benefits of modern C++ constructs and techniques
  • Identify hardware bottlenecks, such as CPU cache misses, to boost performance
  • 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
  • Perform under-the-hood optimizations with preserved readability using proxy objects
  • Gain insights into subtle optimizations used by STL algorithms
  • Utilize the Range V3 library for expressive C++ code
  • Parallelize your code over CPU and GPU, without compromising readability

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.

View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart

Write code that scales across CPU registers, multi-core, and machine clusters

Key Features

Book Description

C++ is a highly portable language and can be used to write both large-scale 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 without compromising the readability of your code base.

The book begins by helping you measure and identify bottlenecks in a C++ code base. It then moves on by teaching you how to use modern C++ constructs and techniques. You'll see how this affects the way you write code. Next, you'll see the importance of data structure optimization and memory management, and how it can be used efficiently with respect to CPU caches. After that, you'll see how STL algorithm and composable Range V3 should be used to both achieve faster execution and more readable code, followed by how to use STL containers and how to write your own specialized iterators.

Moving on, you’ll get hands-on experience in making use of modern C++ metaprogramming and reflection to reduce boilerplate code as well as in working with proxy objects to perform optimizations under the hood. After that, you’ll learn concurrent programming and understand lock-free data structures. The book ends with an overview of parallel algorithms using STL execution policies, Boost Compute, and OpenCL to utilize both the CPU and the GPU.

What you will learn

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.

More books from Packt Publishing

Cover of the book Learning Responsive Data Visualization by Viktor Sehr, Björn Andrist
Cover of the book Python Web Scraping Cookbook by Viktor Sehr, Björn Andrist
Cover of the book JavaScript : Object-Oriented Programming by Viktor Sehr, Björn Andrist
Cover of the book Angular Router by Viktor Sehr, Björn Andrist
Cover of the book IBM WebSphere Application Server v7.0 Security by Viktor Sehr, Björn Andrist
Cover of the book Joomla! 1.5 Site Blueprints by Viktor Sehr, Björn Andrist
Cover of the book Git Essentials by Viktor Sehr, Björn Andrist
Cover of the book VMware vSphere Essentials by Viktor Sehr, Björn Andrist
Cover of the book jMonkeyEngine 3.0 Beginner’s Guide by Viktor Sehr, Björn Andrist
Cover of the book Gradle Essentials by Viktor Sehr, Björn Andrist
Cover of the book Inkscape 0.48 Essentials for Web Designers by Viktor Sehr, Björn Andrist
Cover of the book ASP.NET MVC 2 Cookbook by Viktor Sehr, Björn Andrist
Cover of the book ASP.NET Core 1.0 High Performance by Viktor Sehr, Björn Andrist
Cover of the book Blockchain By Example by Viktor Sehr, Björn Andrist
Cover of the book IBM Rational Team Concert 2 Essentials by Viktor Sehr, Björn Andrist
We use our own "cookies" and third party cookies to improve services and to see statistical information. By using this website, you agree to our Privacy Policy