[ https://issues.apache.org/jira/browse/MRESOLVER-7?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17570922#comment-17570922 ]
ASF GitHub Bot commented on MRESOLVER-7: ---------------------------------------- caiwei-ebay commented on code in PR #178: URL: https://github.com/apache/maven-resolver/pull/178#discussion_r928932146 ########## 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: @michael-o Thanks for the advice. Agreed we should reuse the executor service. The BfDependencyCollector calls DefaultArtifactsResolver and the latter then calls (Basic)RepositoryConnector. Do you mean we should make BfDependencyCollector calls RepositoryConnector's **get(artifactDownloads, metadataDownloads)** to download poms? or simply make the **getExecutor** method as public and then make BfDependencyCollector call the **getExcutor** to reuse the executor service. Please help clarify. > 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 > Priority: Major > Attachments: 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)