[Adding Jerome back on CC -- not sure he's sub'd] More below:
On Wed, Oct 20, 2021 at 10:37 AM Dawid Weiss <[email protected]> wrote: > > I do! I am now using pure Gradle/Lucene clean checkout defaults, from > quite a while back (last time you scolded me ;) ) > > Oh, I never scold. I politely pass over the torch of wisdom (or > bullwaste, depending on the day). :) > Perfect! I love it :) > > But it's still slower than ant on 8.x was/is, plus it makes me pay a > warmup penalty the first time (at defaults anyways). > > Part of the startup penalty is the evaluation of various scripts and > settings that never get used. There are gradle-sque ways of avoiding > that (lazy evaluation) but they do increase code complexity (in my > opinion). The first-time compilation should be improved by moving > scripts into buildSrc (or plugins). Again: this removes the clarity of > individual aspect-based scripts (again: my opinion). > OK > > so then I tested on main, with JDK15, also in cwd lucene/core: "time > ../../gradlew test --tests > "org.apache.lucene.index.TestIndexWriter.testGetCommitData" > -Ptests.seed=D708CEE0862DB94C > ignored": > > You're running the test task in *each and every submodule* that > declares it, then filter for a specific test case. Try this: > Huh, I thought by "cd lucene/core" would be equivalent to "-p lucene/core" from the root checkout? time ../../gradlew -p lucene/core test --tests > "org.apache.lucene.index.TestIndexWriter.testGetCommitData" > -Ptests.seed=D708CEE0862DB94C > ignored > I tried that but the "lucene/core" seems to incorrectly "stack up": beast3:core[main]$ time ../../gradlew test -p lucene/core --tests "org.apache.lucene.index.TestIndexWriter.testGetCommitData" -Ptests.seed=D708CEE0862DB94C Starting a Gradle Daemon (subsequent builds will be faster) FAILURE: Build failed with an exception. * What went wrong: The specified project directory '/l/trunk/lucene/core/lucene/core' does not exist. I think you either "cd lucene/core" or you stay in ROOT and pass -p lucene:core:test (or -p lucene/core?)? > or full scoped task :lucene:core:test. Should be slightly better. > OK I tried that, in ROOT of the checkout "time ./gradlew lucene:core:test --tests "org.apache.lucene.index.TestIndexWriter.testGetCommitData" -Ptests.seed=D708CEE0862DB94C > ignore" (discard first warmup, then:) real 0m4.514s user 0m3.090s sys 0m0.186s real 0m4.587s user 0m3.029s sys 0m0.186s real 0m4.802s user 0m2.988s sys 0m0.189s Not much better? > Also, I'm running on a 128 core crazy beast of a box (Ryzen Threadripper > 3990X), 256 GB RAM, fast SSD, 10g networking, etc. :) > I'm jealous. > LOL well there are even faster CPUs now I think, so I'm jealous of them! Turtles all the way down ... > > Also I want to thank you for migrating us to Gradle in the first place > > No need to thank anybody. It's fun. > Awesome! > > But I really don't like waiting :) And yes maybe I just should learn > how to use fancy IDE debuggers instead of SOP + rerun many times ;) > > IntelliJ works very well for me with Lucene (especially if gradle is > not used for compilation/ test launching). You may also look at this - > never tried it but it looks like something your all-green terminals > may look forward to: > > > https://docs.gradle.org/current/userguide/command_line_interface.html#sec:continuous_build Whoa, that does look interesting! Thanks for the pointer. Mike
