[GRADLE-2780] Performance degradation in build script compilation when using 1.6 Created: 16/May/13  Updated: 17/May/13  Resolved: 17/May/13

Status: Resolved
Project: Gradle
Affects Version/s: None
Fix Version/s: 1.7-rc-1

Type: Bug
Reporter: Gradle Forums Assignee: Unassigned
Resolution: Fixed Votes: 0


Hello All,

After the other day having switched over to Gradle 1.6 from Gradle 1.5 I have noticed a significant performance decrease in the initial configuration step in Gradle 1.6 compared to the 1.5 version. With initial invocation of gradle I mean after having done a clean code checkout invoking Gradle for the very first time.

See numbers below. Are you aware of any performance issue associated with the 1.6 version?

I have not adjusted my build script for changes pending (for Gradle 2.0) so I do see some new deprication messages.

My Gradle project is fairly large I'd imagine. It is a multiproject containing 198 subprojects.

Performance numbers for an initial 'gradle tasks'

Gradle 1.6:
Total time: 5 mins 25.951 secs
Total time: 5 mins 47.84 secs
Total time: 5 mins 32.74 secs
Total time: 5 mins 7.843 secs (no daemon)
Total time: 5 mins 31.888 secs (no daemon, profile)

Description Duration
Total Build Time 5m31.91s
Startup 1.094s
Settings and BuildSrc 3.249s
Loading Projects 0.561s
Configuring Projects 5m0.02s
Task Execution 26.779s

Dependency resolution 1.125s

Gradle 1.5:
Total time: 2 mins 31.647 secs
Total time: 2 mins 25.89 secs
Total time: 2 mins 21.674 secs (no demon)
Total time: 2 mins 28.045 secs
Total time: 2 mins 48.135 secs (no-daemon, profile)

Description Duration
Total Build Time 2m48.16s
Startup 1.060s
Settings and BuildSrc 2.417s
Loading Projects 0.573s
Configuring Projects 2m17.26s
Task Execution 26.138s

Dependency resolution 1.164s

Across the board the configuration time per subproject is about twice that of Gradle 1.5. The other items are virtually identical.
I also supplied the dependency resolution times.

Subsequent invocations of 'gradle tasks' are done in ~35s for both Gradle 1.5 and 1.6.

I hope this aids you in your analysis.

Thank you,
Stefan Marklund

Comment by Gradle Forums [ 16/May/13 ]


Thanks for the report. This is the first time we are hearing about this, so we don't know what it is yet.

I don't suppose we can get access to your build to run it with a profiler? We need more information in order to work out what is going on.

If you're able to, it would be extremely helpful if you could run the build with YourKit attached and send us the exported results ([1]http://www.yourkit.com/docs/90/help/e...). If you're willing to do this but need help, please let me know and we can work it out.
[1] http://www.yourkit.com/docs/90/help/export.jsp

Comment by Gradle Forums [ 16/May/13 ]

Hi Luke,

I'm willing to try it out, Yourkit have a 15 day evaluation license for their profiler so I have downloaded it.

I need you to keep the information within Gradleware though.

Where should I send the data and will a csv export of a snapshot of the configuration step be sufficient for you?


Comment by Gradle Forums [ 16/May/13 ]

That would be perfect. You can contact me directly via [1]luke.daley@gradleware.com.

Thanks for your cooperation.
[1] luke.daley@gradleware.com

Generated at Wed Jun 30 12:31:18 CDT 2021 using Jira 8.4.2#804003-sha1:d21414fc212e3af190e92c2d2ac41299b89402cf.