Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

C++17's std::pmr Comes With a Cost

CppNow via YouTube

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

Reviews

Start your review of C++17's std::pmr Comes With a Cost

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.