Speed up builds of freshly checked out branches#10519
Speed up builds of freshly checked out branches#10519nineinchnick wants to merge 2 commits intotrinodb:masterfrom
Conversation
hashhar
left a comment
There was a problem hiding this comment.
Who is the expected user of the quick profile?
Can you extract "Run git commit id Maven plugin only once" to separate PR. It's non-controversial and always a gain so it can be merged right now.
|
cc @losipiuk |
e166067 to
1707486
Compare
1707486 to
c6c51b2
Compare
598e52d to
78e26ce
Compare
78e26ce to
141ef0c
Compare
|
I'm closing this. The gain of adding options other than |
|
Benchmark results: There's some variance for I also ran benchmarks for the |
|
Is there some value in the first commit alone? Seems like a nice cleanup at least. |
|
It'll allow to avoid loading unused plugins in some cases, but the actual time difference is 1-2 second. I can open up another PR with only that if airlift/airbase#293 gets merged, there won't be any difference without it. |
Add a
quickprofile, which allows to quickly build the project without any checks or tests, assuming it has just been checked out from a clean branch (master) which has been tested by the CI workflow and is known to be correct. The new profile is supposed to make it easier, instead of having to remember all the correct properties (compare the commands in the next section).I'm not disabling any modules (like docs) on purpose, they still have to be disabled explicitly. Note that building the tarball with Provisio takes up ~25% of wall-time, and the GC and JIT take ~50%.
Timings
I ran all the commands on my macbook with the profiler enabled:
Base
Running on master (only skip tests and checks):
yields
Total time: 04:41 min.When also skipping test compilation, building source JARs, and others:
yields
Total time: 03:48 min.Running the same command using Maven Daemon, the 3rd run after starting the daemon yields
Total time: 01:28 min (Wall Clock).With the profile
Running:
yields
Total time: 03:08 min, 40 seconds quicker.Running this 3rd time after starting the daemon:
yields
Total time: 01:19 min (Wall Clock), 10 seconds quicker.All the work here is based solely on https://peter.palaga.org/presentations/211021-baselone-maven-my-life-is-short/