- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
I have got a strange problem: We are using tbbmalloc_proxy (just#include ), and it sped up our application quite a lot (20% on most CPUs, 8 times on a dual Xeon).
We are using Microsoft's Kinect in our application, and when enabling tbbmalloc we cannot open a connection to the kinect. Everything works fine when disabling tbbmalloc.
More detailed, we use OpenCV which usesOpenNI to open a connection to the Kinect. The commandRunXmlScriptFromFilereturns a status 0 (=OK) without tbbmalloc, and not 0 with tbbmalloc.
Any ideas how to get this working with tbbmalloc?
We are using tbb 3.0.3
Martin
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Martin,
Is it possible to try TBB 3.0 update 8 with your application? It may operate better. Also, is it possible to get a small reproducer of the problem, or it is specific to your application and platform?
Regards,
Kirill
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dynamic replacement of standard memory allocation routines with tbbmalloc is done via run-time modification of MSVCRTimage in the application address space, and it has global effect. For complex applications using 3rd party components, especially those from Microsoft that may e.g. use internal MSVCRT implementation details, it can cause problems. To understand what's going wrong, we would need a reproducing test.
As a workaround, I may suggest you to analyze what modules of your app benefit most from the TBB allocator, and in these modules directly use the TBB allocator functions (scalable_malloc etc) instead of the standard routines. Admittedly, it is much more to do comparing to use of tbbmalloc_proxy, but might be worth it.
As a workaround, I may suggest you to analyze what modules of your app benefit most from the TBB allocator, and in these modules directly use the TBB allocator functions (scalable_malloc etc) instead of the standard routines. Admittedly, it is much more to do comparing to use of tbbmalloc_proxy, but might be worth it.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page