Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報

[掲示板に戻る]


SUL等のコピーは#LBMより高速の#SAB43が... 温泉好きのうさぎ 2005-4-10 1:58
Re:SUL等のコピーは#LBMより高速の#SAB4... BLUELION 2005-4-11 0:44
訂正 温泉好きのうさぎ 2005-4-11 11:30

9 SUL等のコピーは#LBMより高速の#SAB43がお勧め
温泉好きのうさぎ 2005-4-10 1:58  [返信] [編集]

こんばんは。

まったく本題とは離れますが、



> ライブラリ類は、LBMで、容量いっぱいコピーする、を繰り返し



ソースやJS,PMをフロッピーにコピーするのは非常に時間がかかりますよね。

とくにSULのメンバを#LBMでコピーすると、フロッピー1枚で20〜30分ぐらいかかったりします。

そういうときは、#LBMより高速でコピーできる「#SAB43」の使用が便利です。



ご存知無い方が多いと思いますので、簡単に紹介しますと、機能は#LBMと同等で、SUL,JSL,PML,LML間でメンバの追加、置換、コピーを行うものなのですが、高速モードが存在します。

ただし、常に高速モードになるわけではなく、いくつかの条件があります。そのうち主なものが、

(1) 出力先の空領域がコピーしようとするメンバのサイズ(複数指定のときは、その合計)以上あること

(2) 1メンバのサイズがある大きさ以上(具体的な数値を思い出せませんが、SUは50セクタぐらいだったような、JS,PMはそれより少し小さかったか。)



JSやPMは(2)の条件にひっかることが多いので、あまり効果が出ませんが、通常のCOBOLのソースであれば、#LBMの1/3ぐらいの時間でコピーできます。



(1)の条件を考慮すると、効果的な方法として、FDUにアロケートしたのと同じ大きさのSULをMSD上にもアロケートしておき、そこに今回のFDUにコピーしたいメンバを入れます。(MSD同士だと速いので#LBMを使ってもよい)

#SAB43のACT=HCOPYでNAM=!として、全メンバを高速コピーする。(進捗表示が画面に出ます)

MSD上のSULを2個用意しておいて、交互にそれぞれのコピーを行うようにすれば完璧。



ちょっとわかりにくい説明で申し訳ありません。

10 Re:SUL等のコピーは#LBMより高速の#SAB43がお勧め
BLUELION 2005-4-11 0:44  [返信] [編集]

こんにちは



> ご存知無い方が多いと思いますので、簡単に紹介しますと、機能は#LBMと同等で、SUL,JSL,PML,LML間でメンバの追加、置換、コピーを行うものなのですが、高速モードが存在します。

初めて知りました 試してみます



FDUにアロケートしたのと同じ大きさのSULをMSD上にもアロケートしておき、そこに今回のFDUにコピーしたいメンバを入れます。(MSD同士だと速いので#LBMを使ってもよい)



 私は同じファイルのサイズで割り付けるのまでは同じですが#ABCの複写でファイル全体をコピーします

この方法もライブラリ使用率が高い場合は無駄な部分が少なくなるので効果的です
11 訂正
温泉好きのうさぎ 2005-4-11 11:30  [返信] [編集]

高速モード使用の条件について、ユーティリティ説明書に詳しく書いてありました。私の書いた内容は間違っておりました。



以下、説明書を一部引用します。(表の部分が見にくいと思います。)

<以下引用開始>



 高速モードを”使用する”と指定することにより、以下の条件が満たされている場合にライブラリメンバの複写を高速に行います。


・複写先(出力側のファイルがあらかじめ初期化されている。)

・複写対象メンバが下記のサイズである。


[高速化の基準値]

指定装置−ファイルタイプ  SUL/JSL/PML   CUL   LML

MSD→MSD       600ステップ以上 300セクタ以上 100セクタ以上

FDU→MSD      1800ステップ以上 700セクタ以上 300セクタ以上

MSD→FDU       60ステップ以上 20セクタ以上 300セクタ以上

(上記は1メンバのサイズです)


<以上引用終わり>


SUL,JSL,PMLで差は無いようです。入出力の装置によってかなり条件が違うようです。

この件に関して、テストデータの測定の結果を、別スレッドにて立ち上げました。ご確認ください。

BluesBB ©Sting_Band