ファイルを検索する最速の方法


0

私は、ハードドライブに保存されているファイルの量を、拡張子で並べ替えて数えるソフトウェアを作成しています。ソフトウェアは、ファイル名、拡張子、ファイルサイズ、ファイル作成日、ファイル変更日、場所などのデータを収集します。

ただし、コンピューター全体を検索するには時間がかかります。

ファイルを検索する最速の方法は何ですか?

検索速度を最大化する可能な方法は何ですか?

回答:


1

FindFirstFile()関数とFindNextFile()関数を既に使用している可能性があります(MSDNの例)。

プログラムをさらに高速化する唯一の方法は、プログラムをマルチスレッドにし、インテリジェントな方法でスレッド間で作業を分割することです。


Delphi XE IOUtilsを使用して、検索するファイルがなくなるまでシステム上のすべてのファイルを検索しています。まず、システム上のすべてのフォルダーとファイルのツリービューを作成してから、情報を含むグループ化されたリストを作成します。私はすでにスレッドごとに検索ファイルの量を100に分割することにより、マルチtheadingを使用しています(4スレッドが上)。
主権

1
私はこの製品を知りません。ファイル属性関数ではなく、ディレクトリトラバーサル関数を使用していることを願っています。ファイルをスレッド間で分割するのではなく、ディレクトリ間で分割する必要があります。完全に制御するには、C / C ++を介してWindows APIを使用することが、それが期待されていることだけを実行することを知る最良の方法です。
harrymc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.