Index in non-NTFS volumes

Have a suggestion for "Everything"? Please post it here.
Post Reply
yangrq
Posts: 2
Joined: Thu Jun 20, 2019 8:57 am

Index in non-NTFS volumes

Post by yangrq » Thu Jun 20, 2019 10:05 am

Hi, all,
I wonder if Everything uses WINAPI FindFirstFile and FindNextFile to index in non-NTFS volumes?
If the answer is yes, I have a suggestion that replacing it with a better API: GetFileInformationByHandleEx.
According to MSDN(https://docs.microsoft.com/zh-cn/window ... byhandleex),when you apply enum value FileIdBothDirectoryInfo to the second argument of the API, you can get information about files in the specified directory, and the amount of the information depends on the buffer size. My friend tested it, finding that the buffer size can be improved to 32kb to get the best performance in win10: obtain information about serveral hundreds files per function call. I guess it might help to boost Everything.
If any example needed, my friend's library might be useful: fast file enumerator
https://github.com/M2Team/NSudo/blob/ab ... .cpp#L1030
(It's not an advertisment).
I would appreciate it if my grammar mistakes could aslo be pointed out.

void
Site Admin
Posts: 4851
Joined: Fri Oct 16, 2009 11:31 pm

Re: Index in non-NTFS volumes

Post by void » Fri Jun 21, 2019 8:11 am

I wonder if Everything uses WINAPI FindFirstFile and FindNextFile to index in non-NTFS volumes?
Everything will use FindFirstFile or FindFirstFileEx with FIND_FIRST_EX_LARGE_FETCH and FindExInfoBasic on Windows 7+.
I have not seen any noticeable performance difference between the two.

The Everything ReFS indexer uses FileIdExtdDirectoryInfo.

I'll consider using FileIdBothDirectoryInfo, thanks for the suggestion and fast file enumerator link.

yangrq
Posts: 2
Joined: Thu Jun 20, 2019 8:57 am

Re: Index in non-NTFS volumes

Post by yangrq » Fri Jun 21, 2019 9:32 am

Thank you for reply!

Post Reply