]
Sopot Cela updated ERT-666:
---------------------------
Sprint: devex #155 September 2018, devex #156 October 2018, devex #157 November 2019,
devex #158 November 2019 (was: devex #155 September 2018, devex #156 October 2018, devex
#157 November 2019)
Improve JDT Indexer performance for method reference lookups
------------------------------------------------------------
Key: ERT-666
URL:
https://issues.jboss.org/browse/ERT-666
Project: Eclipse Release Train
Issue Type: Task
Reporter: Roland Grunberg
Assignee: Roland Grunberg
Priority: Major
Based on discussions with Igor, various proposals were made to improve the method
reference lookup times of the JDT Indexer.
One particular suggestion, which should be possible, with least amount of friction, would
be to provide more information about the declaring type of a method in the indexer
format.
The methodRef category table currently stores :
(symbol, number of arguments) -> document numbers (classfiles)
toString/0 -> [1, 4, 5, 25]
The proposal would change this to :
(symbol, symbol's classname, classname) -> document numbers (classfiles)
toString/0/java.lang.Object -> [1, 4, 5, 25]
Doing so should reduce the number of post-processing changes needed to verify that the
declaring type of the first set of matches corresponds to the declaring type of the
selected reference.
(/) Make the patch mostly correct
(/) Basic performance test with just a JVM target platform, and lookup of
java.lang.Object.toString()
(?) Detect method references even in dead code (this is supported by existing indexer)
(/) More complicated performance test against top 500 used JRE references
(/) A more thorough correctness test to identify any additional differences. (eg. test
every single possible method reference, not just toString() )
Upstream Bug :
https://bugs.eclipse.org/bugs/show_bug.cgi?id=539159