home *** CD-ROM | disk | FTP | other *** search
- ----------------------------------------------------------------------------
- GAP.EXE ver.1.4a
- ディスクの利用効率を調べる
- 1990/3/31 (C) Sey Nakajima
- NiftyServe PBA01036,MasterNet aav307
- ----------------------------------------------------------------------------
-
- 【概要】
-
- MSDOSではファイルはクラスタ単位でディスクスペースを消費するので、特に
- クラスタの大きさに比して小さなファイルがたくさんある場合はかなりの無駄が生じ
- ます。このいわゆるクラスタギャップの状況を指定したディレクトリについて調べて
- 表示するツールです。
-
- オプションで、
-
- ・クラスタサイズを変更したときのギャップの変化のシミュレーション
- ・10段階のギャップのランクに対するファイルの分布
- ・ディレクトリに対するギャップの分布
- ・ファイルの拡張子に対するギャップの分布
-
- を調べて表示することができます。
-
- 【使用法】
-
- GAP <ディレクトリ> [<オプション>]
-
- <ディレクトリ>は調べたいディレクトリを指定します。ドライブ名(A:のように)
- を指定することもでき、その場合はルートディレクトリを指定したものとみなしま
- す。
-
- <オプション>
- <数値> ・・・ クラスタサイズを<数値>Kバイトにしたときのギャップの
- 変化をシミュレーションします。整数でも実数でもかまい
- ませんが、1未満の時は整数部の0を省略しないこと。つ
- まり0.5はよいが.5は受け付けません。
- R ・・・・・ ギャップのランクに対するファイルの分布を表示します。
- D ・・・・・ ディレクトリ対するギャップの分布を表示します。
- E ・・・・・ ファイルの拡張子に対するギャップの分布を表示します。
-
- オプションはスペースで区切らずに第二引数の中に好きな順序で指定して下さい。
- ディレクトリ、オプションとも大文字でも小文字でもかまいません。
-
- 単に GAP とすると、使用法を表示します。
-
- 【例】
-
- 作者のハードディスクの場合で、ドライブ全体を対象に、2Kクラスタでシミュレ
- ーションし、全部のオプションを指定すると・・・
-
- A:\>gap a: 2rde
- DRIVE : A: ドライブ名
- BYTES / SECTOR : 1024 セクタサイズ
- SECTORS / CLUSTER : 8 クラスタ当りセクタ数
- CLUSTER SIZE : 8192 bytes クラスタサイズ
- TOTAL CLUSTERS : 2468 総クラスタ数
- FREE CLUSTERS : 916 未使用クラスタ数
- USED CLUSTERS : 1552 使用クラスタ数
- SEARCH PATH : A:\ 調べるディレクトリ
- USED CLUSTERS : 1552 使用クラスタ数
- USED CLUSTERS SIZE: 12713984 bytes 使用クラスタサイズ
- TOTAL FILE SIZE : 8930761 bytes ファイルサイズ合計
- USE EFFICIENCY : 70.24 % 使用効率(低い!)
- GAP : 3783223 bytes ギャップ(すごい無駄)
-
- **** simulation **** シミュレーション
- CLUSTER SIZE : 2048 bytes 2Kクラスタにすると
- USED CLUSTERS SIZE: 9785344 bytes
- TOTAL FILE SIZE : 8930761 bytes
- USE EFFICIENCY : 91.27 % 一気に改善
- GAP : 854583 bytes
- ADVANTAGE : 2928640 bytes これだけ得をする
-
- **** file distribution for gap rank **** ファイルの分布
- gap rank : files gap rank : files
- -----------:------- -----------:-------
- - 8192 : 248 - 4096 : 34 ギャップの大きな(サイズの小
- - 7372 : 85 - 3276 : 39 さな)ファイルが多い
- - 6553 : 60 - 2457 : 29
- - 5734 : 54 - 1638 : 27
- - 4915 : 48 - 819 : 36
-
- **** gap distribution for directory **** サブディレクトリ別
- directory
- : files gap average
- -----:---------------------------------------
- A:\TOOL
- : 103 462082 ( 12.21 %) 4486 平均は高くないが数が多い
- A:\TC2\TEST
- : 77 459781 ( 12.15 %) 5971 Cのソース、小さいのが多い
- A:\COM\CUE
- : 50 337441 ( 8.92 %) 6748 CUEのマクロ、小さなの多数
-
- (途中省略)
-
- A:\LSIC86\H\SYS
- : 1 7082 ( 0.19 %) 7082
- -----:---------------------------------------
- total: 660 3783223 (100.00 %) 5732
-
- **** gap distribution for file extension **** 拡張子別
- ext : files gap average
- -----:---------------------------------------
- .EXE : 119 466574 ( 12.33 %) 3920 平均はむしろ低いが数多い
- .H : 66 427728 ( 11.31 %) 6480 Cのヘッダやソースはギャップ
- .C : 68 368587 ( 9.74 %) 5420 を大食いする
-
- (途中省略)
-
- .ME : 1 346 ( 0.01 %) 346
- .OV2 : 1 306 ( 0.01 %) 306
- -----:---------------------------------------
- total: 660 3783223 (100.00 %) 5732
-
-
- そこで、CUEのマクロのディレクトリだけをクラスタサイズの小さな別のドライブ
- へ移すことを考えると、、、
-
- A:\>gap a:\com\cue 1
- DRIVE : A:
- BYTES / SECTOR : 1024
- SECTORS / CLUSTER : 8
- CLUSTER SIZE : 8192 bytes
- TOTAL CLUSTERS : 2468
- FREE CLUSTERS : 916
- USED CLUSTERS : 1552
- SEARCH PATH : A:\COM\CUE
- USED CLUSTERS : 50
- USED CLUSTERS SIZE: 409600 bytes Aドライブはこれだけ空く
- TOTAL FILE SIZE : 72159 bytes
- USE EFFICIENCY : 17.62 % !!!
- GAP : 337441 bytes
-
- **** simulation ****
- CLUSTER SIZE : 1024 bytes 1Kクラスタのドライブへ
- USED CLUSTERS SIZE: 102400 bytes
- TOTAL FILE SIZE : 72159 bytes
- USE EFFICIENCY : 70.47 % それでもこのぐらい
- GAP : 30241 bytes
- ADVANTAGE : 307200 bytes
-
-
- 【注意】
-
- サブディレクトリが消費するクラスタの計算は、そのサブディレクトリ内のファイ
- ル数(. と .. も含む)に対してそれだけのディレクトリエントリの格納に必要なク
- ラスタ数としています。従って、削除したファイルのディレクトリエントリが残って
- いてそのために余分なクラスタまで消費しているような場合は、消費クラスタ数が合
- わない矛盾がおきます。
-
- 【動作条件】
-
- 2.11以上のMSDOSなら動作するはずです。確認は3.1(PS98-127)、3.3A(015)で
- とりました。
-
- 【著作権等】
-
- 改変、転載、配布およびそれらの組み合わせ、一切自由に行ってください。
- ただし、フリーウェアとして扱うこと。原作者名と改変、転載、配布者名を明
- 記すること。これらの自由を制限するようなネット等には転載しないこと。
-
- 作成には LSIC86試食版3.2β1 を使用しました。優れたコンパイラをフリ
- ーソフトとして提供されたメーカーに敬意を表します。
-
- サポートはマスターネットおよびニフティーサーブFSDRで行ないます。
-
- 【履歴】
-
- 1988/10/13 1.0 初版
- 10/14 1.1 シミュレーションを追加
- 10/19 1.2 3つのオプションを追加
- シミュレーションの際のサブディレクトリの扱いを改善
- 10/24 1.2a サブディレクトリの扱いをさらに改善
- 1989/ 2/22 1.2b 未定義のオプションでハングするバグを改善
- 3/ 5 1.3 シミュレーションクラスタサイズ指定に実数可
- 9/13 1.4 JOIN,SUBSTに対応
- ドライブ全体だけでなくディレクトリ指定を可能に
- 1990/3/31 1.4a コンパイラを3.2β1に変更(87使用時のハング修正)