maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristian Rosenvold <>
Subject Re: Parallel build scheduling explanation
Date Fri, 20 Sep 2013 05:47:59 GMT
Herve; I added the dependency to the parent pom to the docs.

Jason: In the current project I'm working with, I get the following timings:

mvn -o -T 4 clean install : 53 seconds
mvn -o clean install : 50 seconds
mvn -DskipTests -o -T 4 clean install : 14.1 seconds
mvn -DskipTests -o clean install : 16.624 seconds

This is quite a small project with a very limited fan-out hence
limited effect. I exclusively run in offline mode when benchmarking
(which I know is "cheating").

I recommend running with "sufficient" threads, use -T 10. Also, the
plugin loading is heavily synchronized, which can have a very
detrimental effect on for instance level 4 in your graph, if all the 5
nodes on that level are first-time users of the same plugin and this
plugin is slow in construction. (This is a lot more common than one
might think, since those 5 modules end up at level 4 for the same

This is actually why the concurrent preemptive plugin loading that I
started prototyping has "significant" potential. It will easily make
*every* maven build a second or two faster, mitigate the effects of
artifact resolution and avoid global synchronization points on plugin
loading. Stuart kindly found a few problems for me that I have yet to
fix, which I might consider doing over a glass of something from
northern Italy tonight - I'm anxious to find out to what extent it
breaks things ;)


2013/9/19 Jason van Zyl <>:
> Each circle is a project in a multi-project build (I think we need to clean up our terminology,
I stopped saying multi-module built so I don't have to explain the difference between a module
and project).
> Kristian is correct it's the depth from the root project. Everything on level 1 can be
built simultaneously without any side-effects.
> On Sep 19, 2013, at 10:27 AM, Hervé BOUTEMY <> wrote:
>> I suppose each circle is a module
>> but I don't understand what the levels are, and how modules are dispatched
>> into levels
>> Regards,
>> Hervé
>> Le jeudi 19 septembre 2013 18:36:49 Kristian Rosenvold a écrit :
>>> Jason sent me some questions about the parallel build that included a
>>> real nice figure. Since I'm a sucker for nice figures (especially
>>> those that others make!), I quickly updated the wiki page with this,
>>> and added some docs to describe his figure.
>>> Kristian
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail:
>>> For additional commands, e-mail:
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> For additional commands, e-mail:
> Thanks,
> Jason
> ----------------------------------------------------------
> Jason van Zyl
> Founder,  Apache Maven
> ---------------------------------------------------------

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message