Overview
Explore the intricacies of local memory allocators in this comprehensive conference talk from ACCU 2017. Delve into the practical applications, performance impacts, and effective implementation strategies of memory allocators with large-scale C++ expert John Lakos. Discover how utilizing local memory allocators can lead to significant speed improvements, potentially up to an order of magnitude. Examine the runtime implications of allocated memory's physical location and contrast global allocators with various types of local allocators. Learn about six key dimensions—fragmentability, allocation density, variation, utilization, locality, and contention—that help characterize subsystems and determine the most suitable local allocator. Gain insights into how local allocators can mitigate performance degradation in long-running systems, supported by empirical evidence demonstrating substantial runtime reductions. Cover topics such as buffered sequential allocation, normal destruction, multipool alligators, program size considerations, and concurrency aspects. Equip yourself with the knowledge to make informed decisions about implementing memory allocators in your C++ projects for optimal performance.
Syllabus
Intro
Outline
Benefits
Main Memory
Allocators
Local Arena
Local Alligators
Memory Allocators
Allocation strategies
Buffered sequential allocate
Normal destruction
Multipool alligators
Program size
Aspects of software
Rough indications
Far and away
Concurrency
Summary
Considerations
Taught by
ACCU Conference