The following types of applications can benefit from the use of
heap pools:
- Multi-threaded applications: although single-threaded applications
can benefit from the heap pools algorithm, multi-threaded applications
can get the most benefit because the proper use of heap pools virtually
eliminates contention for heap storage.
- Applications which issue many storage requests with a malloc() of
65536 bytes or less, because the heap pools algorithm is not used
in a malloc() that is greater than 65536 bytes.
- Applications that are not storage constrained: the heap pools
algorithm gives up storage for speed. When untuned, the heap pools
algorithm uses much more storage than the normal malloc()/free() algorithm;
when properly tuned it uses only slightly more. Therefore, storage
constrained applications should try heap pools, but only if the cell
sizes and cell pool percentages are carefully tuned. (For tuning
information, see Tuning heap storage .) It is possible that some
applications running with the heap pools algorithm will have to increase
their region size.