Potential Scanning Optimization

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • quanghai
    New User
    • Jan 2018
    • 1

    Potential Scanning Optimization

    It's possible Beyond Compare already does this, but I was recently developing my own program with the need to perform file scanning / changes on a network file server very quickly.

    Skeptical about the performance of the reentrant-oriented standard Windows Find APIs, I experimented with the lower-level NtOpenFile/NtQueryDirectoryFile with a large FileInformation buffer and ReturnSingleEntry = FALSE. When it came to enumerating a local directory, the change made very little impact but when enumerating a remote server, performance was about twice as fast on a server that is on same network switch that I am. I suspect the performance multiplier would be higher on higher-latency servers.

    Just a curiosity...
  • Zoë
    Team Scooter
    • Oct 2007
    • 2666

    #2
    Beyond Compare already uses FindFirstFileEx with the FIND_FIRST_EX_LARGE_FETCH flag, which should have the same results as calling the low-level routines like you are. For compatibility reasons, we only do large fetches when connecting to Windows servers and some versions of macOS.
    Zoë P Scooter Software

    Comment

    Working...