Two advanced PMR memory allocation techniques in C++17/20

Speaker: Marek Krajewski

Audience level: Intermediate | Advanced

In this talk we will discuss polymorphic memory resources and some of their more advanced usage cases.

Firstly, we will have a brief look at the PMRs, their design and the problems they are supposed to solve,
then shortly discuss their usage patterns and expected performance gains.

We will then follow up with discussion of two advanced PMR techniques i.e. "Winking Out" and "Localized Garbage
Collection" (aka Self-Contained Heap).

We will explain them, show some known usages of these techniques in C++ before PMRs, and then we will discuss
their possible implementations in C++17, C++20 and the original Bloomberg's allocator library.

We will close up some more detailed topics like the unavoidable UB question and the interplay between polymorphic allocators and smart pointers.