COBOL2002 使用の手引 手引編
![[目次]](FIGURE/CONTENT.GIF)
![[用語]](FIGURE/GLOSS.GIF)
![[索引]](FIGURE/INDEX.GIF)
![[前へ]](FIGURE/FRONT.GIF)
最適化をしません。このため,コンパイル時間は最短になります。
文の中で閉じた次の最適化をします。
- 命令レベルでの最適化(ピープホールによる不要命令の削除など)(ただし,Solaris(SPARC)ではピープホール最適化はサポートしていません)
広域的な次の最適化をします。
- 命令レベルでの最適化(ピープホールによる不要命令の削除など)(ただし,Solaris(SPARC)ではピープホール最適化はサポートしていません)
- 不変式のループ外への移動
- コピー伝播
- 定数の畳み込み
- 共通式の削除
- 演算の強さの軽減
- そとPERFORM文のインライン展開
-Optimize,2オプションでの最適化に加えて,10進項目を2進項目に変換します。
- 最適化によって文または文の一部が移動または削除されると,実行時メッセージや異常終了時要約情報リストなどの行番号/欄の情報が正しく出力されないことがあります。
正しい行番号/欄の情報を出力するには,コンパイル時に-Optimize,0オプションを指定して最適化を抑止する必要があります。
- -Optimize,3オプションを指定すると次のような副作用を伴うことがあります。
- (例)
01 A PIC S9(9) VALUE +123456789.
01 B PIC S9(5).
01 C PIC S9(9).
:
PROCEDURE DIVISION.
:
MOVE A TO B.
MOVE B TO C.
DISPLAY C.
-Optimize,3指定以外のときはデータ項目Cに+56,789が設定されますが,-Optimize,3指定の場合,+123,456,789が設定されます(-DigitsTrunc指定ありの場合を除く)。
また,演算よりも10進項目への代入の方が多いプログラムなど,プログラムによっては-Optimize,3オプションを指定すると実行速度がかえって低下する場合があります。
All Rights Reserved. Copyright (C) 2014, 2017, Hitachi, Ltd.