-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Description
A lot of the java tools for precommit aren't being called in efficient ways (compilation, linting, etc).
For example ecjlint, it runs very slow:
Aggregate task times (possibly running in parallel!):
271.73 sec. ecjLintMain
270.18 sec. ecjLintTest
227.17 sec. compileJava
12.07 sec. compileTestJava
1.21 sec. processResources
0.18 sec. clean
Simplying adding a couple reasonable jvm arguments to the ecj linter (jvmArgs = [ '-XX:+UseParallelGC', '-XX:TieredStopAtLevel=1' ]) speeds it up significantly.
Speedup for ecjLint is 3x for me:
Aggregate task times (possibly running in parallel!):
163.38 sec. compileJava
84.57 sec. ecjLintMain
83.12 sec. ecjLintTest
6.11 sec. compileTestJava
0.95 sec. processResources
0.15 sec. clean
I imagine same may be true for a lot of these tasks. We're currently tossing default jvm args at these short-lived subprocesses, which is very suboptimal.
Migrated from LUCENE-9861 by Robert Muir (@rmuir), resolved Mar 23 2021
Attachments: LUCENE-9861_hack.patch
Linked issues:
Pull requests: #33
Reactions are currently unavailable