We have encountered an unexpected performance issue when traversing directories looking for files using a wildcard pattern.
We have 180 folders each containing 10,00
In my tests using FindFirstFileEx
with FindExInfoBasic
and FIND_FIRST_EX_LARGE_FETCH
is much faster than the plain FindFirstFile
.
Scanning 20 folders with ~300,000 files took 661 seconds with FindFirstFile
and 11 seconds with FindFirstFileEx
. Subsequent calls to the same folders took less than a second.
HANDLE h=FindFirstFileEx(search.c_str(), FindExInfoBasic, &data, FindExSearchNameMatch, NULL, FIND_FIRST_EX_LARGE_FETCH);