7051 Invoking call hierarchy results in high CPU

My firm has a large codebase (>5000 files ... no stats on LOCs ... sorry). I found that when doing a call hierarchy on a static method named get, IntelliJ freezes for nearly 2 minutes and CPU is between 65-80%. The CPU snapshot is available here: http://rapidshare.com/files/41233399/7051_oiabdulmatin_05.07.2007_16.28.09.zip.html

My vmoptions are:

Message was edited by:
Omair-Inam Abdul-Matin

1 comment

My theory: It is so slow because "get" is such a common word in every project. Camel case identifiers are added to the search index completely and split into separate words. Which means that for any reasonably sized project "get" is present in the index many thousands of times. Each reference to get is checked separately, to see if it is a reference to the relevant static method. This causes the slowdown.
A workaround is to rename the "get" method to a longer and more descriptive name "getDescriptiveName". It would be much better of course if this could be fixed in IntelliJ IDEA.



Please sign in to leave a comment.