You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Sankaran, Nambi" <ns...@ebay.com> on 2012/10/06 01:42:05 UTC

bundle plugin performance issue

Hi

We are using maven-bundle-plugin for generating OSGI Manifests.
Apart from compilation, bundle-plugin takes most amount of time during build.
In some projects it takes more than 3 seconds to generate Manifest.
In a multi-module project Manifest generation takes more 30 seconds.

I'm interested in improving the bundle-plugin performance.
I checked out the code and did basic analysis.
Here is what I found. ( Please correct me if I am wrong )

[1] total time taken by the plugin 3000 ms
[2] Analyzer.analyse() takes 1800+ ms
[3] Analyzer.analyzeJar() takes 1450+ ms

Nearly half of the time is spent in reading and parsing the class files.
It is done in a single thread.

Is it a good idea to, read and parse the files in parallel, with multiple threads?
Is there a better alternative to improve performance?

Thanks
Nambi



Re: bundle plugin performance issue

Posted by Felix Meschberger <fm...@adobe.com>.
Hi,

The only explanation I would have for such a situation would be large bundles and even larger dependencies (a large number of classes to scan e.g. due to large dependency libraries are due to a large transitive dependency class path).

As for transitive dependencies: We started using provided scope by default for dependencies of our bundles to not infest the maven class space with transitive dependencies.

Regards
Felix

Am 06.10.2012 um 01:42 schrieb Sankaran, Nambi:

> Hi
> 
> We are using maven-bundle-plugin for generating OSGI Manifests.
> Apart from compilation, bundle-plugin takes most amount of time during build.
> In some projects it takes more than 3 seconds to generate Manifest.
> In a multi-module project Manifest generation takes more 30 seconds.
> 
> I'm interested in improving the bundle-plugin performance.
> I checked out the code and did basic analysis.
> Here is what I found. ( Please correct me if I am wrong )
> 
> [1] total time taken by the plugin 3000 ms
> [2] Analyzer.analyse() takes 1800+ ms
> [3] Analyzer.analyzeJar() takes 1450+ ms
> 
> Nearly half of the time is spent in reading and parsing the class files.
> It is done in a single thread.
> 
> Is it a good idea to, read and parse the files in parallel, with multiple threads?
> Is there a better alternative to improve performance?
> 
> Thanks
> Nambi
> 
>