maven-mvnd icon indicating copy to clipboard operation
maven-mvnd copied to clipboard

Have mvnd run for some popular Maven projects to show performance improvements

Open divinedragon opened this issue 4 years ago • 6 comments

The project looks promising and it would make a good argument to know the performance improvement of running the builds with mvnd and without. That allows the developers to quantify the performance improvements, and take a much better call.

Projects for benchmarking

divinedragon avatar Mar 29 '21 14:03 divinedragon

  • Quarkus

ghost avatar Apr 01 '21 14:04 ghost

Someone should see if this is possible with Github Actions (not sure how "stable" the runs would be time-wise, but I doubt they differ much across runs).

I might take a look at this once I have the time.

Ristovski avatar Jun 08 '21 22:06 Ristovski

How imporvenment between mvnd and mvn parallel buld? e.g. mvn -T 1C In my viewPoint,mvnd benefit from daemon service rather than parallel build compared to maven3

NoSugarCoffee avatar Jan 04 '22 03:01 NoSugarCoffee

Some caching is done in mvnd which provides some performance boosts even in multi-module projects. But a large part of the reduced wall-time actually comes from running a parallel build, which is similar to mvn -T 1C, though the output looks much better I'd say...

gnodet avatar Jan 04 '22 07:01 gnodet

How imporvenment between mvnd and mvn parallel buld? e.g. mvn -T 1C In my viewPoint,mvnd benefit from daemon service rather than parallel build compared to maven3

I withdraw what I said after read https://peter.palaga.org/2021/01/11/mvnd-parallel-builds.html#smart_builder_by_default , mvnd's parallel build named smart build little different from stardard maven

NoSugarCoffee avatar Jan 05 '22 08:01 NoSugarCoffee

I did an experiments in a multi-module projects(43 sub-modules, sorry for not able to provide the internal code) on a machine with 128 cores, with build command: mvnd -pl $MODULES -am spotless:apply clean --no-snapshot-updates install vs mvn -T 1C -pl $MODULES -am spotless:apply clean --no-snapshot-updates install image

scala: 2.12.12 mvn: v3.6.0, ~ 03:49min mvnd: v0.8.2, ~ 03:50min

NO performance improvements found, though the output looks much better just during building project(it seems that the stdout output is almost same, which is just rendered by mvnd during build, i.e. non-rolling view).

considering building uber-jar with maven-shade-plugin:3.4.0, the performance bottleneck maybe the conflicts check and copy deps during assemble stage (offline-all) image

conderls avatar Oct 17 '22 08:10 conderls