The performance of ApplyToDependencies merge operations degrades as the number of module resources increases.
At present we have this in ApplyToDependencies.java:
private final List<DependenciesDescriptor> descriptors;
Since we're using a List, merge operations result in this list becoming exponentially larger over time (with many duplicate entries) which makes iterations over its contents very slow.
One way to avoid this would be to use a Set and ensure that DependenciesDescriptor.java has an appropriate equals & hashCode implementation to prevent duplicates being added.
The performance of ApplyToDependencies merge operations degrades as the number of module resources increases.
At present we have this in ApplyToDependencies.java:
Since we're using a
List
, merge operations result in this list becoming exponentially larger over time (with many duplicate entries) which makes iterations over its contents very slow.One way to avoid this would be to use a
Set
and ensure that DependenciesDescriptor.java has an appropriateequals
&hashCode
implementation to prevent duplicates being added.