Thursday
Room 4
13:40 - 14:40
(UTC+02)
Talk (60 min)
Allocator-Aware Rust
“Why should we be concerned with custom memory allocators in Rust?” - Most developers underestimate how much the physical location of allocated memory can make or break performance - even in code engineered for speed in all other aspects.
Just replacing the global allocator with another one is not always the best/only choice. Long-running processes can quietly grind down when they lean on a one-size-fits-all global allocator. In contrast, in many workloads, local specialized allocators are better suited - allocating memory for a well-defined subset of objects in the system (eg. arena, multi-pool, monotonic).
Let’s analyze various allocation strategies using critical memory performance indicators such as: fragmentability, allocation density, diffusion, variation, utilization, locality, and contention.
Are we allocator-aware yet, in Rust? What does it take to stabilize the allocator API, so we can unlock these new found super-powers? Let’s walk through some of these challenges.
