HEAPPOOLS (non-CICS)
The HEAPPOOLS option controls an optional
heap storage management algorithm known as heap pools. The algorithm can improve the performance of multi-threaded C/C++ applications with high usage of malloc, calloc, realloc, free, new, and delete by eliminating contention for heap storage.
HEAPPOOLS has the following suboptions :
- ON or OFF : whether or not Language Environment uses the Heap Pools Manager. ON enables the following suboptions :
- cell size : the size of cells in a heap pool.
Valid values : integer, range 8-2048, multiple of 8
- percentage : percentage of the HEAP run-time option initial size value to be used as the size for the heap pool and any extents
Valid values : integer, range 0-90
Notes :
- To use less than six heap pools, specify 0 for the cell size after the last heap to be used.
- If the percentage of the HEAP run-time option initial size values does not allow for at least one cell, then the system will automatically adjust the percentage to enable one cell to be allocated.
- The sum of the percentages may be more or less than 100 percent. This can cause the allocation of a heap pool to require the allocation of a heap increment to satisfy the request.
- Each heap pool is allocated on an as-needed basis. The allocation of a heap pool can result in the alocation of a heap increment to satisfy the request.
- Heap pools and extents are not released back to the heap, and cell sizes are fixed, so care should be taken when specifying the HEAPPOOLS run-time option to avoid wasting storage.
- The HEAPPOOLS run-time option has no effect when the initial heap is allocated below the 16 MB line (if BELOW is specified on the HEAP option). HEAPPOOLS is also not supported on systems without storage available above the line.
- The HEAPPOOLS option applies to the enclave.