COBOL2002 使用の手引 手引編
ファイルバッファサイズ指定機能を使用すると,COBOLのファイル入出力機能で使用するファイルのバッファサイズを,使用する環境に合わせて任意に指定できます。バッファサイズを大きくすることで,ファイルに対する物理的な入出力回数を減らすことができ,性能向上を目的としたチューニングが可能となります。
この機能を使用しない場合,COBOLではファイルのバッファサイズを4,096バイトに設定します。
この機能は,次に示すファイルを対象としています。
この機能の作用対象を次に示します。
OPENモード | INPUT | OUTPUT | EXTEND | I-O | |||||
---|---|---|---|---|---|---|---|---|---|
WITH LOCK 指定 |
あり | なし | あり | なし | あり | なし | あり | なし | |
LOCK MODE句の指定 | なし | ○ | ○ | ○ | ○ | ○ | ○ | × | × |
EXCLUSIVE | ○ | ○ | ○ | ○ | ○ | ○ | × | × | |
AUTOMATIC | ○ | ×※2 | ○ | ○ | ○ | ×※2 | × | × | |
MANUAL※1 | ○ | ×※2 | ○ | ○ | ○ | ×※2 | × | × |
この機能を使用するには,次に示す環境変数を指定する必要があります。
環境変数名 | 環境変数の有効範囲 | 環境変数の機能内容 |
---|---|---|
CBLINBUFSIZE=nnnnnnnnnn※1 | 対象ファイルに有効※2 | OPEN文のモードがINPUT指定のバッファサイズ制御によるファイル入力時に,使用するバッファサイズを2,000,000,000(約2GB)までの数値で指定する。 |
CBLOUTBUFSIZE=nnnnnnnnnn※1 | OPEN文のモードがOUTPUT/EXTEND指定のバッファサイズ制御によるファイル出力時に,使用するバッファサイズを2,000,000,000(約2GB)までの数値で指定する。 | |
CBLD_ファイル名=NOINBUFSIZE | ファイル別に有効 | 指定されたファイルのバッファサイズ制御による入力時に,環境変数CBLINBUFSIZEで設定された値が無効になる。無効になった場合のバッファサイズは,4,096バイトになる。 |
CBLD_ファイル名=NOOUTBUFSIZE | 指定されたファイルのバッファサイズ制御による出力時に,環境変数CBLOUTBUFSIZEで設定された値が無効になる。無効になった場合のバッファサイズは,4,096バイトになる。 |
各環境変数間の関係を次に示します。
環境変数CBLINBUFSIZE/ CBLOUTBUFSIZEの指定 |
環境変数CBLD_ファイル名の指定 | ||
---|---|---|---|
指定なし | NOINBUFSIZE | NOOUTBUFSIZE | |
CBLINBUFSIZE | ○ | × | − |
CBLOUTBUFSIZE | ○ | − | × |
環境変数の指定例を次に示します。
CBLINBUFSIZE=32768 プロセス内の入力時にファイルバッファを32,768バイトとする export CBLINBUFSIZE CBLOUTBUFSIZE=8192 プロセス内の出力時のファイルバッファを8,192バイトとする export CBLOUTBUFSIZE CBLD_FILE01=NOINBUFSIZE ファイル名FILE01について,入力の指定を取り消す※1 export CBLD_FILE01 出力を取り消す場合はNOOUTBUFSIZEを指定する
ファイル入出力でのバッファサイズは,使用されるファイルサイズ,ディスク装置・マシン環境,およびシステムの仕様に依存することから実際に性能検証によって適切な値を使用してください。
All Rights Reserved. Copyright (C) 2014, 2017, Hitachi, Ltd.