[jbosstools-issues] [JBoss JIRA] (ERT-666) Improve JDT Indexer performance for method reference lookups

Roland Grunberg (Jira) issues at jboss.org
Thu Oct 11 10:13:00 EDT 2018


     [ https://issues.jboss.org/browse/ERT-666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roland Grunberg updated ERT-666:
--------------------------------
    Description: 
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

  was:
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 the Eclipse Platform itself for java.lang.Object.toString()
(?) 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



> 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



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jbosstools-issues mailing list