ILE RPG サブプロシージャの使い方 (6) - サイズの違い -

ここまで「ILE RPG サブプロシージャの使い方 (2) - サブプロシージャからサブプロシージャを呼び出す -」から「ILE RPG サブプロシージャの使い方 (3) - サブプロシージャを独立させる -」、「ILE RPG サブプロシージャの使い方 (4) - 複数モジュールの使用 (1) バインド・ディレクトリ -」、「ILE RPG サブプロシージャの使い方 (5) - 複数モジュールの使用 (2) サービス・プログラム -」と、同じ仕様のプログラムをいくつかのやりかたで作ってみました。

ローカル・サブプロシージャから呼び出すもののみを別モジュールとしたもの(TESTFP)、
サブプロシージャをすべて独立したモジュールにし、バインドしてひとつのプログラムにしたもの(TESTFP_MOD)、
↑の TESTFP_MOD をバインド・ディレクトリを使用してコンパイルしたもの(TESTFP_BD
TESTFP_MOD で使用した独立モジュールをすべてサービス・プログラムにして使うもの(TESTFP_SP

と、以上の 4つのプログラムが結果としてできています。

それぞれのプログラムサイズがどうなっているか、比較してみましょう。


サイズの比較

最初に Factorial サブプロシージャのみを独立させたものを見てみましょう。

TESTFP

次に、サブプロシージャをすべて独立させたものです。
ちょっとサイズが増えていますね。

TESTFP_MOD

次は↑と同じモジュール構成ですが、CRTPGM でバインド・ディレクトリを指定して作成したものです。
当り前と言えば当り前かもしれませんが、サイズはまったく同じになっています。

TESTFP_BD

独立させたサブプロシージャを集めてサービス・プログラムにしたものです。
プログラムのサイズは小さくなっているのがわかりますね。

TESTFP_SP

ただし、↑はそれだけで実行可能なわけではありません。
サービス・プログラムが存在している必要があるわけです。

ILE RPG サブプロシージャの使い方 (5) - 複数モジュールの使用 (2) サービス・プログラム -」で作成したサービス・プログラムのサイズは↓のようになっています。

TESTFP_SP プログラムと足すと確かにサイズは今までのどれよりも大きくなりますが、
サービス・プログラムの分はそのまま共用できるので、使用するプログラムが多くなればなるほど、全体として必要な容量は少なくなる、というわけですね。

MATH

[Top Pageに戻る]

Ads by TOK2