1. Bug 515668 - Introduce APIs to group MavenProject reads (details)
Commit cc749f81602425b703ad3380c04afc4d86c50ef1 by Mickael Istria
Bug 515668 - Introduce APIs to group MavenProject reads
Using has a speed and memory
complexity of O(depth(project)) where depth(project) is the number of
parents (recursively). Iterating on this over N projects lead to a
pseudo-quadratic cost O(N*maxProjectDepth) where maxProjectDepth can be
up to N-1.
Instead, we introduce APIs that take advantage which has a complexity of O(N).
For Apache Camel that is 700+ modules, these new APIs instantiate  700+
MavenProject instead of ~4000 (since many modules have a depth of 5/6)
like legacy API do.
Change-Id: Ica74542eb8db6833de3b796bfad8c07c2ae9b002 Signed-off-by:
Mickael Istria <>
The file was modifiedorg.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/
The file was modifiedorg.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/
The file was modifiedorg.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/
The file was modifiedorg.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/
The file was modifiedorg.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/