C++ High Performance

Gain insights into performance analysis, memory management, concurrency handling, and advanced templates in C++. Learn to write efficient, high-performance code and enhance your career opportunities.

Advanced

174 Lessons

50h

Certificate of Completion

Gain insights into performance analysis, memory management, concurrency handling, and advanced templates in C++. Learn to write efficient, high-performance code and enhance your career opportunities.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

2 Assessments
404 Playgrounds
14 Quizzes

This course includes

2 Assessments
404 Playgrounds
14 Quizzes

Course Overview

This course focuses on one major aspect that distinguishes professional C++ developers from beginners, which is understanding code from top to bottom and comprehending what is truly happening under the hood. Through examples and exercises, we’ll equip you with the skills needed to become a top-tier C++ developer capable of handling even the most demanding performance challenges. The course begins with performance analysis, memory management techniques, efficient concurrency handling, and advanced template...Show More

TAKEAWAY SKILLS

C++

Programming Language

C++ Concepts

C++ Templates

What You'll Learn

Proficiency in identifying and resolving performance bottlenecks in C++ code

Hands-on experience with optimizing memory management and concurrency

Knowledge of modern C++ features and best practices for high performance

Mastery of advanced template usage and parallel algorithms

Practical experience with modern memory management and multithreading techniques

Knowledge of new C++20 features for better performance

What You'll Learn

Proficiency in identifying and resolving performance bottlenecks in C++ code

Show more

Course Content

1.

Getting Started

Learn how to use modern C++ features and libraries for high-performance programming.
2.

A Brief Introduction to C++

Look at building a foundation in C++ for efficient, high-performing applications through modern features.
3.

Essential C++ Techniques

Examine essential C++ features like type deduction, move semantics, error handling, and lambdas.
4.

Analyzing and Measuring Performance

Grasp the fundamentals of performance measurement, algorithm efficiency, and optimization techniques in C++.
5.

Data Structures

Dig into the selection, utilization, and performance impact of C++ standard library data structures.
6.

Algorithms

13 Lessons

Tackle C++ standard library algorithms for better performance, readability, and code efficiency.
7.

Ranges and Views

7 Lessons

Build on the power of range views for efficient and concise data transformations.
8.

Memory Management

14 Lessons

Learn how to use effective memory management techniques to optimize C++ performance.

C++ Essentials Exam

Assessment

9.

Compile-Time Programming

14 Lessons

Unpack the core of metaprogramming, templates, type traits, constexpr, and compile-time optimization in C++.
10.

Essential Utilities

11 Lessons

Examine essential C++ utility classes for handling heterogeneous collections and improving code safety and expressiveness.
11.

Proxy Objects and Lazy Evaluation

8 Lessons

Break down complex ideas about proxy objects, lazy evaluation, and performance optimization.
12.

Concurrency

15 Lessons

Map out the steps for mastering concurrency in C++ with threads, locks, and atomic operations.
13.

Coroutines and Lazy Generators

12 Lessons

Simplify complex topics related to coroutines, stackful/stackless coroutines, and lazy generators.
14.

Asynchronous Programming with Coroutines

8 Lessons

Approach C++ coroutines to streamline asynchronous programming, implementing tasks and synchronous operations.
15.

Parallel Algorithms

13 Lessons

Sharpen your skills in implementing and optimizing parallel algorithms using C++17 execution policies.

C++ Advanced Concepts Exam

Assessment

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor