処理されたネットワーク ファイル共有のリストを (完全な UNC パスを保持して) メモリに格納する必要があるため、これらのフォルダーを再度処理する必要はありません。
配列を使用するつもりでしたが、ハッシュテーブルの方が高速なオプションである可能性があると考えています。そのフォルダー パス (文字列値) が既に存在する場合は、いくつかの場所を確認する必要があります。
(その値の存在をチェックするために)最速でメモリ消費の少ないオプションは何ですか?
- key=folder path と空の値を使用して、フォルダー パスをハッシュテーブルに格納します
- フォルダー パスを 1 次元配列に格納する
- 他の何か
更新: 50000 個の文字列を生成し、3 つのルックアップを実行することで、以下に示すスレッドのようないくつかのテストを実行しました。メモリ消費量も調べたところ、HashSet が勝者でした。HashTable は依然として適切なオプションですが、Array は最悪のオプションです。
配列 - 作成に 125048 ミリ秒、検索に 37 ミリ秒、RAM に 18Mb
ハッシュ - 作成に 2167 ミリ秒、検索に 0.74 ミリ秒、RAM に 2.4Mb
HashSet -作成に1966ミリ秒、検索に0.02ミリ秒、RAMに1.4Mb