33.5.8 プログラムの最適化の設定
プログラムの最適化を設定するコンパイラオプションについて,説明します。
- 〈この項の構成〉
(1) -Optimizeオプション
(a) 形式
-Optimize,{0|1|2|3}
(b) 機能
最適化のレベルを指定します。-Optimizeオプションの詳細については,「32. 最適化機能」を参照してください。
- -Optimize,0
-
最適化しません。
- -Optimize,1
-
文の中で閉じた次の最適化をします。
-
命令レベルでの最適化(ピープホールによる不要命令の削除など)
-Optimizeオプションを指定しなかった場合,このオプションが仮定されます。
-
- -Optimize,2
-
広域的な次の最適化をします。
-
命令レベルでの最適化(ピープホールによる不要命令の削除など)
-
不変式のループ外への移動
-
コピー伝播
-
定数の畳み込み
-
共通式の削除
-
演算の強さの軽減
-
そとPERFORM文のインライン展開
-
- -Optimize,3
-
-Optimize,2オプションでの最適化に加えて,10進項目を2進項目に変換します。
(c) 注意事項
-
最適化オプションを指定すると,データ項目の使用状況の解析や文の順番の入れ替えなどをするため,コンパイル時間が増加します。-Optimize,0指定時が最短で,-Optimize,3指定時が最長となります。
-
-Optimize,3オプションと-TDInfオプションを同時に指定すると,-Optimize,3オプションが無効になり,-Optimize,2オプションが仮定されます。
-
最適化の内容については,「32. 最適化機能」を参照してください。
-
-Optimize,3オプションを指定すると10進項目を2進項目化するため,アドレス操作機能を使用しているプログラムは正しく動作しないことがあります。
-
Windows(x64) COBOL2002の場合,-Optimize,3オプション,-MaxDigits38オプション,および-IntResult,DecFloat40オプションを同時に指定したときは,-Optimize,3オプションは無効となり,-Optimize,2オプションが仮定されます。
(2) -ScreenSpeedオプション
(a) 形式
-ScreenSpeed -noScreenSpeed
(b) 機能
- -ScreenSpeed
-
画面節(WINDOW SECTIONまたはSCREEN SECTION)による画面機能を使用するとき,表示の見栄えや機能よりも表示速度を重視するためのオプションです。このオプションを指定すると,表示速度は速くなりますが,次の不都合が生じます。
-
文字間隔が狭くなる,縦けい線と文字が一部重なるなど,表示の見栄えが悪くなる。
-
データ項目が画面上で重なりあっている場合の表示は保証しない。
-
縦倍文字,横倍文字に対するけい線の表示は保証しない。
-
画面節(WINDOW SECTION)のTHROUGH指定のLINE NUMBER句,COLUMN NUMBER句を指定すると,ERASE(ATTRIBUTE)文が正しく実行されない場合がある。
-
表示する項目が1行に収まらない場合の表示は保証しない。
-
- -noScreenSpeed
-
-noScreenSpeedオプションの指定を打ち消します。
(c) 注意事項
-
-ScreenSpeedオプションを指定してコンパイルした画面機能を含むプログラムと,-ScreenSpeedオプションを指定しないでコンパイルしたプログラムを一つの実行可能ファイル,DLL,または標準ライブラリ中に混在させないでください。