[ https://issues.apache.org/jira/browse/MRESOLVER-7?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17570351#comment-17570351 ]
ASF GitHub Bot commented on MRESOLVER-7: ---------------------------------------- michael-o commented on code in PR #178: URL: https://github.com/apache/maven-resolver/pull/178#discussion_r928152490 ########## maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java: ########## @@ -334,6 +370,82 @@ private void doRecurse( Args args, DependencyProcessingContext parentContext, } } + private boolean filter( DependencyProcessingContext context ) + { + if ( context.depSelector != null && !context.depSelector.selectDependency( context.dependency ) ) Review Comment: Why not compact to `return ( context.dep...)`? ########## 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: Can this resolver leverage the same executor service as for artifacts with `aether.connector.basic.threads`? At the end it does not matter what the connector transports, no? See: org.eclipse.aether.connector.basic.BasicRepositoryConnector > 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)