No announcement yet.

Potential Scanning Optimization

  • Time
  • Show
Clear All
new posts

  • 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...

  • #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