[
https://issues.apache.org/jira/browse/LUCENE-9879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17309237#comment-17309237
]
Dawid Weiss commented on LUCENE-9879:
-------------------------------------
Oh... so that's why it's slow!
I see three options:
1) Moving ecj to a separate check (this will require javac recompilation). This
will only slow down the full check cycle (but will fail sooner if you have
errors).
2) Making ECJ run only if you're *also* running tests... This is doable from
gradle side.
3) Making ECJ run only on CI runs (when -Ptests.nightly=true).
I'm in favor of option 3.
> errorprone cause large slowdown of compileJava/compileTestJava
> --------------------------------------------------------------
>
> Key: LUCENE-9879
> URL: https://issues.apache.org/jira/browse/LUCENE-9879
> Project: Lucene - Core
> Issue Type: Task
> Reporter: Robert Muir
> Priority: Major
>
> Errorprone hooks itself into the java compiler (compileJava/compileTestJava).
> So this static analysis runs, even if you are just recompiling to run tests.
> It causes javac to run 3x slower at the moment.
> With errorprone:
> {noformat}
> 188.26 sec. compileTestJava
> 180.24 sec. compileJava
> {noformat}
> Without errorprone:
> {noformat}
> 52.54 sec. compileTestJava
> 49.26 sec. compileJava
> {noformat}
> The worst part is: if you look at the config, essentially all error-prone
> checks are disabled. So we aren't getting value out of it, and it slows
> builds significantly.
> I'd like to have a discussion about it:
> * should we keep it enabled?
> * should it really hook into compileJava/compileTests or maybe be a separate
> task (e.g. precommit only)
> I'm raising this because it is so slow, that e.g. Uwe mentioned on other
> issues the possibility of switching to ECJ compiler to try to speed up
> builds, but, it turns out javac is actually fast. The slowness is error-prone.
> For sure if we are going to use it, I'd like to at least turn on checks and
> get value out of the thing. But it is unclear to me how many of these checks
> aren't already met by javac or ecj (which frankly, we still haven't enabled
> to do good analysis yet, although the situation is improving)
> cc [~uschindler] [~dweiss]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]