Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Building large projects

hard to say without profiling the build at hand.

However there is a memory consumption penalty associated with

- number of modules in reactor
- number of environments (os/ws/arch) being built
- (metadata) size of p2 repositories used

see [1] for details.

Also, there is a network roundtrip penalty associated with

- number of p2 repositories used by the build
- esp. number of child repositories if composite repos are used

Using a local p2 mirror is good, but p2 might still reach out round-robin to worldwide eclipse.org mirrors unless you use -Dtycho.diableP2Mirrors=true [2]

Trying to reduce some of the factors above may be worth a try.

> Sonatype Nexus is used to proxy the eclipse juno site.

not sure if this still holds true but last time I tried, the nexus p2 mirror used uncompressed (XML) metadata files.

> Nexus also holds some third party dependencies, they are added as pom dependencies.

pomDependencies=consider is generating p2 metadata on the fly on each build which may be costly if you have a lot of them. 
You may try to convert these into a p2 repository and reference this instead.

Regards,
Jan

[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=413720
[2] http://wiki.eclipse.org/Tycho/FAQ#How_do_I_disable_P2_mirrors.3F

From: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-bounces@xxxxxxxxxxx] On Behalf Of Jeroen Verellen
Sent: Montag, 9. September 2013 21:04
To: tycho-user@xxxxxxxxxxx
Subject: [tycho-user] Building large projects

 Hi,

In our company we recently switched from using an ant based PDE build to using tycho. Some of my colleagues rightfully complain that the build takes too long compared to our previous build system.

The ant build took something like 20 minutes to build around 240 bundles.
Since around 60 bundles are actually our base platform this is build and released seperately now. Building this takes around 13 minutes.
The other 180 bundles take around 40 minutes to build.

Question: is there a way I can get the build to go faster?

Some more detail on our setup:
. Sonatype Nexus is used to proxy the eclipse juno site.
. Nexus also holds some third party dependencies, they are added as pom dependencies.
. We have an eclipse target platform project that holds a target file.
. The pom dependencies are in the parent project so they do not need to be maintained per module.
Thanks, Jeroen


Back to the top