- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Has anyone done any benchmarking of TBB memory allocators and Hoard Memory allocator with real applications ? If yes, I would like to see the results.
Do the concurrent containers in TBB use scalable memory allocators by default ?
Thanks.
With regards
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you still want to plug in your own allocator, you can most easily do that starting with the 2008-04-02 development release, with TBB's own scalable allocator the default (although there are places where cache_aligned_allocator is hard-coded for some internal allocations, if I can generalise from concurrent_hash_map).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Raf_Schietekat:
... (I'm sure they put in some pause instructions for their competitors in the demo benchmarks they obtained elsewhere :-))
I hoped you were joking, Raf:)
csv610:
Has anyone done any benchmarking of TBB memory allocators and Hoard Memory allocator with real applications ? If yes, I would like to see the results.
Do the concurrent containers in TBB use scalable memory allocators by default ?
In fact, real applications are quite different in allocation behavior than any microbenchmarks, and benefits or losses from using a particular allocator vary between applications, and I believe no benchmarking data other than your application itselfcan give you the answer which allocator is better for you. While TBB allocator outperforms Hoard in pure allocation speed for small-size objects, as far as I recall Hoard has slightly better scalability trend. And allocation speed is not necessary the determinant forperformance of your application; e.g. data layout in memory can have bigger impact.
As for the containers - yes, TBB containers use the TBB allocator by default (provided the tbbmalloc shared library is available, otherwise "regular" malloc is used); and the ability to use any C++ compliant allocator might also be useful, including for the need of experiments.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page