HEAPPOOLS (非 CICS)
HEAPPOOLS オプションは、ヒープ・プールと呼ばれる、オプショナル・ヒープ・ストレージ管理アルゴリズムを制御します。このアルゴリズムを使用すると、ヒープ・ストレージの競合を解消することによって、malloc、calloc、realloc、free、new、および delete を多用するマルチスレッド C/C++ アプリケーションのパフォーマンスを向上させることができます。
HEAPPOOLS には、以下のサブオプションがあります。
- ON または OFF: 言語環境プログラムでヒープ・プール・マネージャーを使用するかどうかを指定します。
ON を指定すると、以下のサブオプションが使用可能になります。
- セル・サイズ: ヒープ・プール内のセルのサイズ。
有効値: 8 〜 2048 の範囲の整数で、8 の倍数。
- パーセンテージ: ヒープ・プールおよび任意のエクステントのサイズとして使用される HEAP ランタイム・オプション初期サイズ値のパーセンテージ。
有効値: 0 〜 90 の整数。
注:
- 6 個未満のヒープ・プールを使用するには、使用する最後のヒープの後のセル・サイズに 0 を指定します。
- HEAP ランタイム・オプション初期サイズ値のパーセンテージでセルが 1 つも許可されていない場合、システムはパーセンテージを自動的に調整して 1 つのセルを割り振ることができるようにします。
- パーセンテージの合計には 100% よりも多い値も少ない値も指定することができます。これによって、ヒープ・プールの割り振りで、要求を満たすためにヒープ増分の割り振りが必要になる場合があります。
- 各ヒープ・プールは、必要になった時点で割り振られます。ヒープ・プールを割り振ると、要求を満たすためにヒープ増分の割り振りが必要になる場合があります。
- ヒープ・プールおよびエクステントは解放されず、ヒープに戻されることはありません。セル・サイズも固定であるため、HEAPPOOLS ランタイム・オプションを指定してストレージを節約したい場合は注意が必要です。
- HEAPPOOLS ランタイム・オプションは、初期ヒープが 16 MB 境界よりも下に割り振られている場合 (HEAP オプションで BELOW が指定されている場合) には適用されません。また HEAPPOOLS は、境界よりも上に使用可能なストレージがないシステムではサポートされません。
- HEAPPOOLS オプションは、エンクレーブに適用されます。