Najszybszy sposób wyszukiwania plików

0

Tworzę oprogramowanie, które zliczałoby liczbę plików przechowywanych na dyskach twardych uporządkowanych według rozszerzenia. Oprogramowanie gromadzi takie dane, jak: nazwa pliku, rozszerzenie, rozmiar pliku, data utworzenia pliku, data modyfikacji pliku i lokalizacja.

Jednak wyszukiwanie w całym komputerze zajmuje dużo czasu.

Chcę wiedzieć, jaki jest najszybszy sposób wyszukiwania plików?

Jakie są możliwe sposoby maksymalizacji prędkości wyszukiwania?

SovereignSun
źródło

Odpowiedzi:

1

Prawdopodobnie korzystasz już z funkcji FindFirstFile () i FindNextFile () ( przykład MSDN ).

Jedynym sposobem na dalsze przyspieszenie programu jest uczynienie go wielowątkowym i inteligentne podzielenie pracy między wątkami.

harrymc
źródło
Przeszukuję za pomocą Delphi XE IOUtils wśród wszystkich plików w systemie, dopóki nie będzie więcej plików do znalezienia. W pewnym sensie najpierw buduję widok drzewa wszystkich folderów i plików w systemie, a następnie tworzę pogrupowane listy z informacjami. Korzystam już z funkcji wielokrotnego oceniania, dzieląc liczbę plików wyszukiwania do 100 na wątek (4 wątki u góry).
SovereignSun
1
Nie znam tego produktu. Mam tylko nadzieję, że używasz funkcji przechodzenia przez katalog zamiast funkcji pliku. Nie powinieneś dzielić plików na wątki, a raczej katalogi. Aby uzyskać pełną kontrolę, korzystanie z interfejsu API systemu Windows za pośrednictwem C / C ++ jest najlepszym sposobem, aby wiedzieć, że działa zgodnie z oczekiwaniami i nic więcej.
harrymc