Author Topic: Lotsa workspace files - inefficient directory scanning?  (Read 2086 times)

jporkkahtc

  • Senior Community Member
  • Posts: 2620
  • Hero Points: 210
  • Text
Lotsa workspace files - inefficient directory scanning?
« on: August 18, 2017, 05:26:07 PM »
In my typical workspace I've got about 50,000 files.
The workspace is made of about 12 projects, each is a wildcard project.
Slick takes a *long* time just to scan the filesystem.

It also often takes a long time when I start typing a filter in the Open toolwindow.

With Procmon watching while I loaded the project, I see Slick is not scanning optimally.
For a particular directory I'm looking at, it has no subfolders it has 17 files.
Slick does 58 CreateFile and QueryDirectory operations on this folder and files.


There are 30 CreateFile events (which are calls to FindFirstFile()) on the same folder - with the path C:\foo\bar
Then another 28 QueryDirectory events that are calls to FindNextFile/FindFirstFile - 9 of these are for the folder, and the other 19 are on each of the files - one of the files is references 3 times.

Using my own dir tool to scan the same folder recursively, it does it in just 5 operations, 4 QueryDirectories, and one CreateFile.

Clearly, Slick is doing more work in general, but seems to also be doing a lot of work that it doesn't need to do.