次に、ストレージ使用効率を高めるために役立つ方法を説明します。
再リンクした OS PL/I ロード・モジュールは、言語環境プログラムのスタブしか含まれて いないためサイズが小さくなります。
ほとんどの場合、アプリケーションは 16M ラインより上にロードされます。 言語環境プログラムが制御ブロックの一部を 16M ラインより上に割り振ることができる ようにするための、言語環境プログラム ALL31(ON) オプションを指定することができます。
HEAPPOOLS オプションは、(PL/I for MVS および旧来の PL/I コードにではないものの) Enterprise PL/I に適用されます。 HEAPPOOLS(ON) オプションを指定すると、たいへん多くのストレージが ANYHEAP に割り振られる結果になる場合があります。
PL/I では、次の条件が満たされる場合、言語環境プログラムはヒープ・ストレージを 16M ラインより上に割り振ります。
アプリケーションは AMODE(31) を使用している必要があります。 PL/I では、アプリケーションが言語環境プログラムを使用して再リンクされており、かつアプリ ケーションに編集されたストリーム入出力が含まれていない場合、言語環境プログラムは、 スタック・ストレージを 16M ラインより上に割り振ります。
なお、小さい値を指定することが必ず良いとは限らないことに注意してください。小さい値を使用すると、言語環境プログラムが最初に割り振るストレージの量は少なくなりますが、その結果アプリケーションの実行期間中に GETMAIN と FREEMAIN が発行される回数が増える可能性があります。この場合、GETMAIN の負荷は非常に大きくなります。
(E)LPA 内のライブラリー・ルーチンは アプリケーション領域のストレージを占有しないので、 アプリケーションが使用できるストレージの量が多くなります。 (E)LPA に入れることをお勧めするライブラリー・ルーチンについては、 CPU 使用効率の向上を参照してください。