Add Option to ignore file name capitalization in IFileStore.fetchInfo() - #2952
HannesWell wants to merge 3 commits into
Conversation
The new methods make the corresponding methods more convenient to use and allow subsequent optimizations of their implementation.
|
This pull request changes some projects for the first time in this development cycle. An additional commit containing all the necessary changes was pushed to the top of this PR's branch. To obtain these changes (for example if you want to push more changes) either fetch from your fork or apply the git patch. Git patchFurther information are available in Common Build Issues - Missing version increments. |
Test Results 51 files - 3 51 suites - 3 53m 43s ⏱️ - 5m 51s For more details on these failures and errors, see this check. Results for commit 9ce1cf8. ± Comparison against base commit 2d15cf3. ♻️ This comment has been updated with latest results. |
Introduce a new file-system option `EFS.IGNORE_NAME_CASE` and add a fast-path to Win32Handler in case that option is set to not determine the file's real name on the file-system. Additionally overwrite Win32Handler.listDirectoryAndGetFileInfos(String) to leverage that new fast-path, too.
6f221cf to
97f2b34
Compare
Introduce a new file-system option
EFS.IGNORE_NAME_CASEand add a fast-path toWin32Handlerin case that option is set to not determine the file's real name on the file-system.Additionally overwrite
Win32Handler.listDirectoryAndGetFileInfos(String)to leverage that new fast-path too, similar toThis currently is based on
which introduces the methods
IFileStore.exists()andIFileStore.isDirectory(), which make it simpler to use the new option here.In a very simple benchmark I ran locally, basically just fetching the same file's info in a loop a million times, the new fast-path was almost twice as fast as the existing code.
Real numbers are probably different. For random, not previously fetched files, the difference might even be greater and the numbers probably also depend on the size of the parent directory (i.e. I assume the currently used method to be slower).