Chapter 6. Scalable Memory Allocation

Making sure your memory allocation is handled by a scalable shared memory allocator is very important. This chapter explains why and introduces a solution included with Intel Threading Building Blocks.

Allocating memory is not only one of the most basic programming tasks, it’s also one of the most challenging to do efficiently in multithreaded programs on multiprocessor systems. Solutions necessarily depend on the operating system and C++ compiler in use; a totally portable solution would not offer adequate performance.

Because memory allocation is such an essential requirement for programs, C++ offers several ways to plug in new memory allocators. Threading Building Blocks comes with a scalable allocator that supports the same signatures as std::allocator.

Get Intel Threading Building Blocks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.