[Engine-devel] compile time (was Re: Maven 3 here we come!)

Saggi Mizrahi smizrahi at redhat.com
Fri Jun 1 16:14:03 UTC 2012



----- Original Message -----
> From: "Itamar Heim" <iheim at redhat.com>
> To: "Yaniv Kaul" <ykaul at redhat.com>
> Cc: engine-devel at ovirt.org, "<arch at ovirt.org>" <arch at ovirt.org>
> Sent: Friday, June 1, 2012 12:02:51 PM
> Subject: [Engine-devel] compile time (was Re:  Maven 3 here we come!)
> 
> On 05/23/2012 11:04 PM, Yaniv Kaul wrote:
> > On 05/23/2012 12:59 PM, Doron Fediuck wrote:
> >> Hi all,
> >> As discussed last month[1], we had to deal with some issues which
> >> turned out to be a Maven bug.
> >> Thanks to Juan and Asaf's work, our current sources now build
> >> properly
> >> using Maven 3.
> >> So you're all invited to migrate into Maven 3. Other than
> >> upgrading
> >> your local maven package
> >> no other action is needed.
> >>
> >> For now, Maven 2 will also work for you, but I expect in the
> >> future
> >> we'd like to make use
> >> of some advanced features, so migration to 3 is recommended.
> >>
> >> Talking about advanced features, an interesting challenge is
> >> feedback
> >> on parallel builds [2].
> >
> > I'm not happy with parallel builds - it creates more java
> > processes,
> > each taking quite a bit of memory. This, in turn, causes them to
> > swap,
> > making everything crawl.
> > Took me 22 minutes to compile the webadmin and additional 21
> > minutes for
> > the user portal, with -T 4. I've had 3.5GB of swap used (and 7GB
> > resident memory with 'java' processes running around).
> > It usually takes me
> >
> > The command line I've used was:
> > mvn -T 4 clean install -Pgwt-admin,gwt-user -DskipTests=true
> > -Dmaven.test.skip=true
> >
> >
> > As opposed to 7+ 3 minutes without '-T 4'.
> 
> Saggi gave me his command line, which doesn't require any change of
> settings.xml
> 
> mvn clean install -Pgwtdev,gwt-admin -DskipTests
> -Dgwt.userAgent=gecko1_8 -Dgwt.draftCompile=true
> -Dgwt.compiler.optimizationLevel=0 -Dgwt.compiler.localWorkers=2
> -Dmaven.aspectj.incremental=true -Dmaven.aspectj.time=true
It will have to be optional with configure flags like --disable-optimization --disable-extra-user-agents --local-workers=2
So people know what they are doing and can choose what is best for them as I use 2 local workers because my host as 2 cores with HT which means by default it will start 4 local workers and have all my processing threads stuck on IO stopping the machine. Other, more powerful hosts, might be able to ramp the local workers.
Also you might want to turn on debug but still check other user agents.

> 
> I wonder if we shouldn't make something similar to this as the
> default.
> preferably, add ./configure script to tweak different options (which
> is
> very common in non java projects).
> _______________________________________________
> Engine-devel mailing list
> Engine-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/engine-devel
> 



More information about the Devel mailing list