This is a followup of issue 122639 (and 162144).
While the new implementation uses index to speed up the Go to File action, there are still inefficiencies that could
slow down the action for large projects. Here are the steps to reproduce:
1. Create a new Java web application.
2. Create a class p.NewClass in this application
3. Select Navigate -> Go to File and type "N"
In the first part of the algorithm, the index correctly retrieves the NewClass.java file, which matches the search
criteria. However, in the second part of the algorithm, folders are collected so files are found outside of the source
roots. After this phase (as I verified under debugger), allFolders.toString has the following value:
In the third phase, on all these folders, folder.getData(false) is called, so the algorithm enumerates all the files in
folder /Users/petrjiricka/NetBeansProjects/WebApplication29/src/java/p, although these have already been retrieved in
the first phase through the index!
I expect that all folders which are covered by the index, will not be collected in the second part of the algorithm, and
their children will not be enumerated in the third part.
Actually when Andrey explained the algorithm to us I thought he mentioned that the folders under the source roots are
*not* gone through in the final phase of the algorithm. Andrey?
Adding Vita to Cc: ...
Of course, the cleanest way to fix this would be to implement indexing outside of source roots per issue 162580, which
would simplify the algorithm a lot (and speed it up). But I am not sure if that's doable for 6.7.
Petr, David, I have expected the same algorithm as you described and I was talking with Alexey about it. So I am
surprised too. Reassign issue to Alexey who actually implemented this code.
Since no functionality is broken and performance not critical downgrade to P3.
Yup, I didn't take into account that sources can be placed not only in root folders. I will update the algorithm.
Reviewed by Andrey
Still not working in beta
Could describe what still not working in beta? Or attach project.
"Still not working in beta" - Well, AFAICT changeset 26398920070a did not make it to beta. So no, this issue was not
fixed in beta. Could you please test this in a dev build?
Ahh, yes, it is not in beta, because it was pushed after beta branch created.
But it will go to FCS or beta2.
I assume this one can be marked as fixed, right?
Yes, mark as fixed
I can't see the QA message about daily build. Could you confirm that it is already available for test?
It is available since Apr 20 in development builds
It's in main-golden repository (http://hg.netbeans.org/main-golden/rev/26398920070a) and so it definitely is in daily