[
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)