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

YouTube

Frictionless Allocators

ACCU Conference via YouTube

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore a comprehensive conference talk on frictionless allocators in C++, delving into the benefits of user-controlled memory allocation strategies and addressing the complexities of implementing allocator-aware software. Learn about potential language extensions to simplify allocator-aware code, gain insights from early prototype implementations, and understand the process of proposing changes to the ISO C++ committee. Discover the speaker's experience with the BDE project and Bloomberg's open-source libraries, which offer a foundation for C++ development including a standard library implementation supporting the polymorphic allocator model adopted by C++17. Examine various aspects of allocators, including their importance, performance benefits, and limitations, while also exploring topics such as allocator traits, memory resources, and the scoped allocator model.

Syllabus

Intro
Outline of Talk
What is an allocator?
Why Do We Want Allocators?
A Faster Allocator
Performance
Special Memory
Emery Berger
Accelerating Programs via Custom Allocators
Initial empirical results
Early Results
Allocator Traits (since 2011)
How does pmr work?
memory_resource
Standard Resources
Idiom and usage of pm
Quick Example
Scoped Allocator Model
Limitations of pmr
Bloomberg Experience
Unsupported use cases
Allocator Propagation
Complexity of Propagation
Syntactic overhead is high
Copy Constructor Issue
Ideal Model
Allocator Awareness
Why Implicit from Members?
Why querying matters
Simplifying Construction
Worked Example
Implementing Awareness
Implicit Awareness
Allocator Injection

Taught by

ACCU Conference

Reviews

Start your review of Frictionless Allocators

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.