Самый быстрый способ поиска по файлам

302
SovereignSun

Я делаю программное обеспечение, которое будет подсчитывать количество файлов, хранящихся на жестком диске, упорядоченных по расширению. Программное обеспечение собирает такие данные, как: имя файла, расширение, размер файла, дата создания файла, дата и место изменения файла.

Однако поиск по всему компьютеру занимает много времени.

Я спрашиваю, какой самый быстрый способ поиска по файлам?

Какие возможные способы максимизировать скорость поиска?

0

1 ответ на вопрос

1
harrymc

Вы, вероятно, уже используете функции FindFirstFile () и FindNextFile () ( пример MSDN ).

Единственный способ еще больше ускорить программу - сделать ее многопоточной и разумно распределить работу между потоками.

Я ищу с помощью Delphi XE IOUtils среди всех файлов в системе, пока больше нет файлов для поиска. Сначала я создаю древовидную структуру всех папок и файлов в системе, а затем создаю сгруппированные списки с информацией. Я уже использую мульти-тэдинг, разделив количество поисковых файлов до 100 на цепочку (4 темы сверху). SovereignSun 6 лет назад 0
Я не знаю этот продукт. Я просто надеюсь, что вы используете функции обхода каталогов, а не атрибуты файлов. Вы должны делить файлы не по потокам, а по каталогам. Для полного контроля использование Windows API через C / C ++ - лучший способ узнать, что он делает то, что ожидается, и ничего больше. harrymc 6 лет назад 1