Nice. Thanks, will try to assemble this locally and will let you know regarding the build times.
On Mon, Aug 3, 2026 at 2:01 PM Guillaume Nodet <[email protected]> wrote: > Hi all, > > I've been profiling Maven 4 RC6 on a large reactor (4,383 modules, > diamond-graph, generated with maven-multiproject-generator) as several > performance regressions were found during in the vote thread compared to > Maven 3. A clean install -DskipTests that takes ~1:15 on Maven 3.9.16 was > taking ~2:45 on Maven 4 RC6. > > After a series of JFR-guided optimizations across 4 repositories, Maven 4 > now completes the same build in ~1:18 — at parity with Maven 3. > > Benchmark (Apple M4 Pro, JDK 21): > > | Configuration | Wall time | > |----------------------------|----------------| > | Maven 3.9.16 | 1:14 – 1:18 | > | Maven 4 RC6 (unpatched) | 2:45 | > | + all optimizations | 1:18 | > > The full analysis (JFR hotspots, root causes, complexity reductions) and > all 8 PRs are tracked in: > https://github.com/apache/maven/issues/12667 > > The main wins are: > 1. Switching the default conflict resolver from classic (O(N²)) to path > (O(N)) — single biggest win, 2:45 → 1:45 > 2. TransitiveDependencyManager optimizations — instance reuse, cons-list > parent pointer, varargs elimination > 3. Reactor sort O(N² log N) → O(N log N), model building pipeline > allocation reduction > 4. Install/Deploy plugin O(N²) reactor scans → O(N) with caching > > All PRs are green and ready for review. > > Regards, > Guillaume >
