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.