IDEA X - faster Java method usage search - possibly up to 50% faster, but...

IDEA X features claims faster Java method usage search, so I tried it out.

I only did one test -- searching for usages of Class.forName() which has 889 usages in my project.

In IDEA 9.0.3 it took 1 min 40 sec to complete the find usages.  What it does is "Searching for getName()...", and then it does "Searing for name...".

In IDEA X EAP 96.802,  the same find usages took 1 min 05 sec  (50% faster).  The search behavior is different now because now it says "Searching for getName(), name ...".  It looks like it is doing both searches in parallel which maybe is why it takes less time. However, my perception of the search was that it was actually taking longer because all 889 usages were found by the "Search for getName()..." part and in 9.0.3 the 889 usages were found quicker, I guess because it isn't competing with the other search.

Also, when I tried to repeat the search, IDEA X deadlocked. (See http://youtrack.jetbrains.net/issue/IDEA-56908 )

FYI I am using an Intel quad core workstation w/ 12 GB memory.  If you have more or less cpus, you might get different results, esp. if the speedup is due to parallization of search tasks.

It would be nice if Jetbrains explained what exactly was done to speed up the Java method usage search.

-Alex

1 comment

It would be nice if Jetbrains explained what exactly was done to speed up the Java method usage search.


Exactly the thing you noticed: search for several things at once. The
overall search time is shorter, though the parallelization really makes
each file longer to process. The net win is because now it's processed
just once, while before it happened not even two times. We'll see what
we can do with it, but (at least for me) it's anyway hard to look at the
usages until the search is over, so I always wait for the end, which
takes less time now.

0

Please sign in to leave a comment.