Personal tools
You are here: Home Forum How to use Salome? [Feature request] Enabling custom memory allocators support

[Feature request] Enabling custom memory allocators support

Up to How to use Salome?

[Feature request] Enabling custom memory allocators support

Posted by Roman Lygin at April 08. 2011

Hello!

Given that the new operator is not explicitly redefined for most classes (at least in SMESH) all objects are allocated using default run-time and system allocators. They are (at least were) known to be less efficient when dealing with numerous allocations throughout the app lifetime. Therefore there exist various custom memory allocators that address this problem (especially for multi-threaded cases). Open CASCADE, for instance, redefine operator new for base classes to call Standard::Allocate() and Standard::Free() what in its turn enable very simple allocator substitution (e.g. OCC, system or Intel TBB allocator).

Enabling similar approach (defining operator new and forwarding to some proxy) in Salome will likely increase performance in multiple algorithms. Of course, to avoid isolated memory caching (and hence increased footprint), forwarding to Standard::* methods would likely be the most efficient.

Has this ever been considered and put on a product roadmap ?

Would be great to hear any comments from the development team. Thank you,

Roman

Powered by Ploneboard
Document Actions