2008/12/25

ewfyの節約生活

ewfyみたいなツールというのは、あくまでも裏方なので、CPUに余計な負荷をかけないのはもちろん、メモリとかも含めて、あらゆるリソースの消費を抑えることが求められます。これ自体がシステムに負担をかけてEWFの限界を下げることになっては本末転倒だからです。

ewfyはewfmgr.exeを子プロセスとして実行するので、どうしてもそのためのオーバーヘッドが生じますが、それ以外の部分で節約することはできます。たとえばewfmgr.exeからの出力はファイルを使わずパイプで受けます。その方が効率的だし、同じパイプを使い回したりもできます。それに、もしも監視のたびに一時ファイルをEWF有効なドライブ上に作ったりすると、そのために貴重なEWF用のメモリを消費していくことになってしまいます。
画面表示もリソースを消費する大きな要因なので、基本的にタスクトレイアイコン以外の表示は行わず、表示の更新も最小限にします。(バルーン出すときとかは別ですが。) ここでももちろん、大きなオブジェクトは可能な限り使い回しです。
また当然、監視と更新の頻度に比例してリソースの消費は増えるので、頻度をどの程度に設定するかは重要です。ewfyではこの頻度が可変になっていて、状況に応じてewfy自身が適宜調整します。(ちなみに、APIを直接呼んでいるにもかかわらずEwfPlusの方が重いのは、監視頻度が常に毎秒1回、というのが大きな理由だと思います。これは多すぎ。)

そんなewfyですが、もう追加するべき機能もなさそうだし、不具合も特に出てないようなので、このへんで一応完成ということにしたいと思います。
あとは、もしも要望があれば英語版を作るかも。
Would you like the English version of ewfy? Please leave a comment if you did.

2008/12/10

ewfy 0.4.0.1

ほとんど変わってないですが、新バージョンです。
ewfy 0.4.0.1
普通に使う上ではぜんぜん役に立たないと思いますが、ewfyが管理の対象とするドライブを限定する機能を付けました。これは簡単に設定が変更できると危険なので、あえてメニューには入れないで、iniファイルを直接編集して設定するようにしてあります。(デフォルトのiniファイルにも入っていません。)
たとえばCドライブだけを対象ににする場合は、ewfy.iniにこれを追加します。
target=C
デフォルトでは、従来どおり、EWFが使用可能な全てのドライブが対象です。
もちろん一部のドライブだけを管理したのでは自動コミットの意味があんまりないのですが、なにか問題があるときの切り分けとかには使えるかもしれません。
これも含めて、マニュアルにiniファイルの説明を追加しておきました。