Dependency resolution performance decrease from 2.2.1 to 2.3 and any latter release

After updating gradle from 2.2.1 to any latter release 2.3 till 2.9 our build time increased from 15 to 25 minutes.
All all extra time according to profiling is spent on dependency resolution.
I published profiling reports, and dependency list from longest submodule:
Project is quite big and have quite huge dependency graph.
Our testing shows that problem shows up only when dependency graph gets big.
When we setup smaller test project we can’t observe performance decrease.
Are there any options to speed up dependency resolution on larger sets?
Should configure dependency resolution caching for ResolutionStrategy?
Note we are also using

Thanks for any help

Do you notice any new deprecation warnings when upgrading from 2.2.1 to a later version? One change in 2.3 is that we sometimes need to resolve configurations which constructing the task graph, and then need to re-resolve if the configurations are modified during task execution.

It would be great if you could narrow this down a little, so we know if each resolution is taking longer, or if we’re doing more resolution.

  • Attach a DependencyResolutionListener using gradle.addListener() so you can get more insight into the behaviour
  • Provide a minimal reproducible test case

Thanks for the report.


Turns out that the problem was with

update of that one solved performance problems, now with gradle 2.9 we have even better build time.


Thanks for letting us know. Glad to hear that things are now working for you.