std::map with tbb scalable allocator and tbbmalloc_proxy

std::map with tbb scalable allocator and tbbmalloc_proxy

While profiling my application I found that a lot of time was being spent on the memory allocation and deallocation so I switched to tbb scalable allocator which helped a lot. I have not explicitly changed the code to allocate the memory through scalable allocator but I am linking my application with library which is doing its job.  But still, the profiling tool shows some red areas where I am inserting some data into a map.
So my questing is that, do I need to explicitly define custom memory allocator for map e.g

std::map<const key,T,scalable_allocator<std::pair<const Key, T>> 

or just linking to the library will do the job?


2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.


You are using it right. Linking to library will substitute all standard allocation routines to tbb ones, and that is enough. However, I recommend to try LD_PRELOAD option as described here. It just ensures that symbols for malloc/free will be loaded firstly.

On the other hand, you can try one of our concurrent containers, if you faced insertion bottleneck.

- Nikita

Leave a Comment

Please sign in to add a comment. Not a member? Join today