Frictionless Allocators
Offered By: ACCU Conference via YouTube
Course Description
Overview
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
Related Courses
Khronos Sycl Language Framework for C++ Accelerators - Take Advantage of All the MIPSACCU Conference via YouTube Space Invaders - The C++20 Spaceship Operator is Upon Us
ACCU Conference via YouTube Grinding, Farming, and Alliances - Become a Better Programmer by Using Words and Ideas From Casual Gaming
ACCU Conference via YouTube Designing for C++ Concurrency Using Message Passing
ACCU Conference via YouTube Productivity in C++ Game Development - Inside the Mind of an AAA Game Developer
ACCU Conference via YouTube