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

ASF GitHub Bot commented on MRESOLVER-7:
----------------------------------------

cstamas commented on code in PR #178:
URL: https://github.com/apache/maven-resolver/pull/178#discussion_r983453759


##########
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java:
##########
@@ -365,6 +477,64 @@ else if ( descriptorResult == DataPool.NO_DESCRIPTOR )
         return descriptorResult;
     }
 
+    static class ParallelDescriptorResolver
+    {
+        final ExecutorService executorService;

Review Comment:
   Own executor is just fine, we should not raise complexity.... but, as I see 
executor is created per invocation, and this may be problematic (parallel 
build?), so instead, why not cache it during lifespan of session? That would 
make one executor being created and shared as long as session exists, no?
   
   But then question comes, when to shut it down? Like, the shutdown method 
could perform some "ref counting"? And the last leaving the building turn off 
lights?





> Download dependency POMs in parallel
> ------------------------------------
>
>                 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: Tamás Cservenák
>            Priority: Major
>             Fix For: resolver-next
>
>         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