C++17's std::pmr Comes With a Cost
Offered By: CppNow via YouTube
Course Description
Overview
Explore the intricacies and potential drawbacks of C++17's std::pmr (polymorphic memory resource) in this comprehensive conference talk from C++Now 2018. Delve into how polymorphic allocators interact with move semantics, unit testing, performance, developer productivity, and reliability in large codebases. Gain insights on fragmentation, complexity, synchronized and unsynchronized pools, logging resources, and setting default resources. Examine code examples demonstrating undefined behavior, exception safety, and polymorphic allocator awareness. Learn about the "PMR Dirty Little Secret" and receive concrete recommendations for when and how to use std::pmr effectively in your projects. Whether you're new to allocators or an experienced developer, acquire valuable knowledge about the subtle consequences of polymorphic allocator use at scale.
Syllabus
Introduction
Trick question
Read the code
Outline
Fragmentation
Complexity
Synchronized Pool
Unsynchronized Pool
Logging Resource
Setting Default Resource
Example
Undefined Behavior
Exception Safety
Polymorphic
Alligator Awareness
Default constructor
PMR Dirty Little Secret
Taught by
CppNow
Related Courses
Your Favorite Undefined Behavior in C++CppNow via YouTube Under the Hood - Assembly, System Calls, and Hardware in C++
CppNow via YouTube Carbon Language Successor Strategy - From C++ Interop to Memory Safety
CppNow via YouTube Value Oriented Programming Part 1 - You Say You Want to Write a Function
CppNow via YouTube Introducing a Memory-Safe Successor Language in Large C++ Code Bases
CppNow via YouTube