Skip to content

Project import spends most of the time in AliasManager.computeAliases() #2251

@iloveeclipse

Description

@iloveeclipse

While working on #2220 with our internal data set I stumbled upon the fact that most of the time (~4/5) on creating (refreshing) huge project is spent in AliasManager.computeAliases() code, in particular in this method: `AliasManager$LocationMap.matchingResourcesDo().

The reason is that the AliasManager.LocationMap.map that is involved in the metod is TreeMap (used on purpose because AliasManager.LocationMap.matchingPrefixDo() tries to improve iteration by visiting only a subtree for given key).

Changing AliasManager.LocationMap.map to be a usual HashMap improved time by a magnitude (from ~500 seconds to ~5 seconds).

I have to investigate if the fix I have in mind is safe one, mode measurements & draft PR follows.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions