freefair / gradle-plugins

Gradle Plugin Collection
https://docs.freefair.io/gradle-plugins/current/reference/
MIT License
210 stars 31 forks source link

Sporadically slow Lombok generateTestEffectiveLombokConfig step #761

Open lars06 opened 1 year ago

lars06 commented 1 year ago

I'm having an issue where the Lombok plugin often causes dramatically longer build times on CI (Azure DevOps). It is not 100% reproducible as it only occurs on some runs, but I ran the Gradle build scan 4 times with build cache off and here are the results:

Execution time of generateTestEffectiveLombokConfig:

This is a pretty big difference and causes quite slow builds when adding 30 seconds. The rest of the steps in my build scan stay relatively stable, so it appears to be related to Lombok. The generateIntegrationTestEffectiveLombokConfig and generateEffectiveLombokConfig steps vary between 0.1 - 3 s, so less drastic than the other step but still worth noting.

Any idea why the execution time would vary so much when the build cache is off and no code changes have been made? Let me know if I can provide any further information to help! :) Thanks!


Gradle version: 8.0.2 io.freefair.lombok version: 8.0.1

ppawel commented 1 year ago

I can confirm the same, generateTestEffectiveLombokConfig and generateEffectiveLombokConfig sometimes take over 1 minute (!) in my project.

larsgrefer commented 11 months ago

I've added some logging which will print the actual execution time and the parameters used. I hope this helps to further investigate the problem.

kristofdepypere commented 5 months ago

Any news ? I'm having the same issue. A build scan showed 5minute execution time for generateTestEffectiveLombokConfig which is in the TOP 5 of the slowest tasks.

cschoell commented 1 week ago

I have the same issue - it would be nice to know why it takes so long.

xeagle2 commented 3 days ago

I use Gradle 8.1.1, and io.freefair.lombok 8.6 plugin generateTestEffectiveLombokConfig takes over a minute (1m29s).

Is there any chance to optimize it?