2017年3月8日水曜日

ロック中のファイルアクセス回数を低減するサンプル

昨日公開した一時保留.htaでは、ファイルに対する処理をfunction形式で受け渡して、functionを配列に入れて、ロックに成功してアクセス権を取得したら配列内の関数を一つずつ実行していました。
その配列をテキスト化したものが以下になります。

fso.Read、fso.Writeはファイルに対する読み書きを行っています。
一つの関数内で読み書きを1セット行っています。

ファイルに対する処理が三回分まとまると以下のようになります。

かなり冗長な感じです。
対象ファイルのサイズが小さければ無視して良いかもしれませんが、サイズが大きいとか、ネットワーク越しで利用していてネットワークの転送速度が遅いとかいうことになると無視できない話になってきます。
この問題を解消するサンプルを作成しました。

以下ソース


前verから変更した箇所は以下


動作結果

functionの文字数は増していますが、ファイルへのアクセス回数は配列全体でReadもWriteも一回ずつに低減されています。

0 件のコメント:

コメントを投稿