[ 
https://issues.apache.org/jira/browse/MRESOLVER-7?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17626429#comment-17626429
 ] 

wei cai commented on MRESOLVER-7:
---------------------------------

BF collector is a combination of 
[https://github.com/apache/maven-resolver/pull/158]
[https://github.com/apache/maven-resolver/pull/178]

It includes some performance improvements based on what we've done in our 
company to speed up maven build. So far the BF and original DF algorithm 
co-exists and the DF is still the default.

When maven 3.9.x ships with maven-resolver 1.9.0, then users can simply put a 
[.mvn/maven.config|https://maven.apache.org/configure.html] within project root 
with below content:
"-Daether.dependencyCollector.impl=bf" to enable these features:
 * Skipper to skip unnecessary resolution
 * Parallel descriptor files (pom, metadata.xml) downloading

Not sure what's the plan to make the BF as default one. All related Jiras about 
parallel pom downloading can be closed accordingly until BF becomes the default 
option.

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

Reply via email to