Applications which should use heap pools

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.