2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« WScriptオブジェクトの簡単ラッパーオブジェクト | トップページ | .NETのDirectory.GetFiles(,検索パターン)のワイルドカードの誤動作に注意すべし。 »

2008年4月27日 (日)

.NETでファイルを検索するときは、Directory.GetFiles(,検索パターン)を積極的に使うべし。

DBでもそうですが、「全件検索を避ける」のが鉄則です。

複数パターンの場合は、
複数回、Directory.GetFiles(,検索パターン)する。
全件検索して、その結果から自分で複数パターンでフィルタリングする。
では、どちらが速いか?

前者のほうが、後者より、一般的に速い。

また、一般的に、
IO処理よりメモリ処理が速い。
IO処理を繰り返すと遅くなる。
などの「一般常識」は、疑ってかかったほうがよいでしょう。

場合により、IO処理はメモリ処理(キャッシュ)に化け、メモリ処理はIO処理(ページング)に化けます。

塵も積もれば山となるで、速いはずのメモリ処理も数が多いと遅くなります。

« WScriptオブジェクトの簡単ラッパーオブジェクト | トップページ | .NETのDirectory.GetFiles(,検索パターン)のワイルドカードの誤動作に注意すべし。 »