Skip to content

speed up precommit [LUCENE-9861] #10900

@asfimport

Description

@asfimport

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions