[ https://issues.apache.org/jira/browse/MRESOLVER-7?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17616505#comment-17616505 ]
Tamas Cservenak commented on MRESOLVER-7: ----------------------------------------- Also, have to remark that in case of collection "POM downloads" happens in two distinct cases (but interleaved during collection): * a) when downloading the dependency POM (for example D depends on D1, D2, D3, then corresponding D1.pom, D2.pom, D3.pom will be downloaded) – these can and are downloaded in parallel with provided PR for BF collector. * b) but, when D1.pom is being built (in model builder), and IF D1.pom has D1-parent.pom, amd parent has D1-parent-parent.pom (and so on, but similar for POM imports, etc), these are still sequentially downloaded, as model bullder processes/builds the D1.pom. Model builder was not altered by PR. The PR implements case a) in BF collector only. DF collector and model builder is unchanged. > Download dependency POMs in parallel in BF collector > ---------------------------------------------------- > > Key: MRESOLVER-7 > URL: https://issues.apache.org/jira/browse/MRESOLVER-7 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver > Affects Versions: Aether 1.0.2 > Reporter: Harald Wellmann > Assignee: Tamas Cservenak > Priority: Major > Fix For: 1.9.0 > > Attachments: resolve_deps.png, resolver.log > > Time Spent: 40m > Remaining Estimate: 0h > > h3. Background > When building a project with dependencies not yet available in the local > repository, I noticed that Maven 3.3.9/Aether 1.0.2 first downloads the > dependency POMs _sequentially_ and then proceeds downloading the dependency > JARs with up to 5 threads _in parallel_. > Due to this, when first building a project with a large number of > dependencies, downloading a large number of small POMs may take a lot longer > than downloading the much larger JARs, or even longer than building the > project itself, especially when a repository manager is used which increases > the download latency. > h3. Enhancement > Download POMs of (transitive) dependencies in parallel to significantly speed > up initial builds of large projects. -- This message was sent by Atlassian Jira (v8.20.10#820010)