Graham Charters wrote:
Below are a couple of runs, one taking 2 mins 50s and the second
taking 1 min 8s.  Both were done after mvn cleans so the difference is
maybe due to my machine being under spec and paging.

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Apache Tuscany OSGi - Tuscany 3rdParty Manifest Bundle for
Calculator Sample  SUCCESS [1:06.859s]
[INFO] Apache Tuscany OSGi - Tuscany Manifest Bundle for Calculator
Sample  SUCCESS [31.297s]
[INFO] Calculator Sample Running in an OSGi Framework ........ SUCCESS
[1:07.594s]
[INFO] Calculator Sample Running in an OSGi Framework ........ SUCCESS [4.687s]
[INFO] ------------------------------------------------------------------------

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Apache Tuscany OSGi - Tuscany 3rdParty Manifest Bundle for
Calculator Sample  SUCCESS [35.406s]
[INFO] Apache Tuscany OSGi - Tuscany Manifest Bundle for Calculator
Sample  SUCCESS [7.281s]
[INFO] Calculator Sample Running in an OSGi Framework ........ SUCCESS [24.172s]
[INFO] Calculator Sample Running in an OSGi Framework ........ SUCCESS [0.969s]
[INFO] ------------------------------------------------------------------------

From the above, it seems that the major time cost is the building of
the manifest bundles.  Graham's earlier note said that the third-party
manifest bundle consumes 17.5MB of disk space.

Could the time and space overheads be reduced by building virtual
bundles (or a single virtual bundle) for the third-party libraries?
As I understand it, this would save 17.5MB of disk space (as the
third party libraries are already in my maven repo), and it would
presumably take less time as nothing would need to be written to disk.

  Simon


2008/5/16 Simon Laws <[EMAIL PROTECTED]>:
On Fri, May 16, 2008 at 1:05 PM, Simon Laws <[EMAIL PROTECTED]>
wrote:


On Fri, May 16, 2008 at 12:44 PM, Graham Charters <
[EMAIL PROTECTED]> wrote:

Hi,

Regarding Mike's build breaking comment, one of the reasons for
including this in the main build is to have it break to flag when new
dependencies are being introduced.  This will help us focus on
improving Tuscany modularity, but also help us preserve the support
for running in OSGi.  It will also give us a place to focus on keeping
the core small.

I now have what I think is the smallest subset of modules, based on
current dependencies.  My previous attempt took the approach of
cutting down a distribution, but the latest was created by adding to
the dependencies of the basic Calculator.  The net result is 47
bundles, 49MB (33MB felix cache and 16MB third-party jars) and takes
about 2.5 mins to build and run which does not seem like a big delta
over and above the time taken to do a full Tuscany build and run all
the samples.

The sca modules which are installed are:

tuscany-assembly-2.0-incubating-SNAPSHOT.jar
tuscany-assembly-xml-2.0-incubating-SNAPSHOT.jar
tuscany-assembly-xsd-2.0-incubating-SNAPSHOT.jar
tuscany-binding-sca-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-impl-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-java-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-namespace-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-osgi-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-resource-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-xml-2.0-incubating-SNAPSHOT.jar
tuscany-core-2.0-incubating-SNAPSHOT.jar
tuscany-core-spi-2.0-incubating-SNAPSHOT.jar
tuscany-databinding-2.0-incubating-SNAPSHOT.jar
tuscany-databinding-json-2.0-incubating-SNAPSHOT.jar
tuscany-definitions-2.0-incubating-SNAPSHOT.jar
tuscany-definitions-xml-2.0-incubating-SNAPSHOT.jar
tuscany-domain-2.0-incubating-SNAPSHOT.jar
tuscany-domain-api-2.0-incubating-SNAPSHOT.jar
tuscany-domain-impl-2.0-incubating-SNAPSHOT.jar
tuscany-extensibility-2.0-incubating-SNAPSHOT.jar
tuscany-host-embedded-2.0-incubating-SNAPSHOT.jar
tuscany-host-http-2.0-incubating-SNAPSHOT.jar
tuscany-implementation-java-2.0-incubating-SNAPSHOT.jar
tuscany-implementation-java-runtime-2.0-incubating-SNAPSHOT.jar
tuscany-implementation-java-xml-2.0-incubating-SNAPSHOT.jar
tuscany-interface-2.0-incubating-SNAPSHOT.jar
tuscany-interface-java-2.0-incubating-SNAPSHOT.jar
tuscany-interface-java-jaxws-2.0-incubating-SNAPSHOT.jar
tuscany-interface-java-xml-2.0-incubating-SNAPSHOT.jar
tuscany-interface-wsdl-2.0-incubating-SNAPSHOT.jar
tuscany-interface-wsdl-java2wsdl-2.0-incubating-SNAPSHOT.jar
tuscany-interface-wsdl-xml-2.0-incubating-SNAPSHOT.jar
tuscany-monitor-2.0-incubating-SNAPSHOT.jar
tuscany-node-2.0-incubating-SNAPSHOT.jar
tuscany-node-api-2.0-incubating-SNAPSHOT.jar
tuscany-node-impl-2.0-incubating-SNAPSHOT.jar
tuscany-osgi-runtime-2.0-incubating-SNAPSHOT.jar
tuscany-policy-2.0-incubating-SNAPSHOT.jar
tuscany-policy-security-2.0-incubating-SNAPSHOT.jar
tuscany-policy-security-ws-2.0-incubating-SNAPSHOT.jar
tuscany-policy-xml-2.0-incubating-SNAPSHOT.jar
tuscany-policy-xml-ws-2.0-incubating-SNAPSHOT.jar
tuscany-sca-api-2.0-incubating-SNAPSHOT.jar

The third-party jars (currently installed in a single bundle) are:

activation-1.1.jar
addressing-1.3.mar
annogen-0.1.0.jar
avalon-framework-4.1.3.jar
axiom-api-1.2.5.jar
axiom-dom-1.2.5.jar
axiom-impl-1.2.5.jar
axis2-adb-1.3.jar
axis2-adb-codegen-1.3.jar
axis2-codegen-1.3.jar
axis2-java2wsdl-1.3.jar
axis2-kernel-1.3.jar
axis2-mtompolicy-1.3.jar
backport-util-concurrent-2.2.jar
bcprov-jdk15-132.jar
cglib-nodep-2.1_3.jar
commons-codec-1.3.jar
commons-collections-3.1.jar
commons-discovery-0.2.jar
commons-fileupload-1.1.1.jar
commons-httpclient-3.0.1.jar
commons-io-1.2.jar
commons-logging-1.1.jar
geronimo-activation_1.1_spec-1.0-M1.jar
geronimo-commonj_1.1_spec-1.0.jar
geronimo-javamail_1.4_spec-1.0-M1.jar
geronimo-jms_1.1_spec-1.1.jar
httpcore-4.0-alpha5.jar
httpcore-nio-4.0-alpha5.jar
httpcore-niossl-4.0-alpha5.jar
jaxb-api-2.1.jar
jaxb-impl-2.1.6.jar
jaxb2-reflection-2.1.4.jar
jaxen-1.1-beta-9.jar
jaxws-api-2.1.jar
jettison-1.0.jar
json-rpc-1.0.jar
jsr181-api-1.0-MR1.jar
jsr250-api-1.0.jar
junit-4.2.jar
log4j-1.2.12.jar
logkit-1.0.1.jar
mail-1.4.jar
neethi-2.0.2.jar
opensaml-1.1.jar
org.apache.felix.bundlerepository-1.1.0-SNAPSHOT.jar
org.apache.felix.framework-1.1.0-SNAPSHOT.jar
org.apache.felix.main-1.1.0-SNAPSHOT.jar
org.apache.felix.shell-1.1.0-SNAPSHOT.jar
org.apache.felix.shell.tui-1.1.0-SNAPSHOT.jar
org.osgi.core-1.0.0.jar
rampart-core-1.3.jar
rampart-policy-1.3.jar
rampart-trust-1.3.jar
saaj-api-1.3.jar
servlet-api-2.4.jar
stax-api-1.0-2.jar
stax-api-1.0.1.jar
woden-1.0-incubating-M7b.jar
wsdl4j-1.6.2.jar
wss4j-1.5.3.jar
wstx-asl-3.2.1.jar
xalan-2.7.0.jar
xercesImpl-2.8.1.jar
xml-apis-1.3.03.jar
XmlSchema-1.3.2.jar
xmlsec-1.4.0.jar

Let me know what you think?

Regards,

Graham.


2008/5/15 Mike Edwards <[EMAIL PROTECTED]>:
Graham Charters wrote:
Hi,

I've been working on a small sample to act as an OSGi "sniff test" for
Tuscany running in OSGi.  It's basically a cut-down version of what
Rajini has done in itest/osgi-tuscany and only runs the most basic
Calculator sample.  I still have some work to do to exclude all the
things which aren't required and also perhaps move it to use the
latest "1 manifest per 3rd party jar" approach.

Currently the sample takes ~3 mins to build and run and uses 56MB.
The main space usage is 17.5MB for the third-party dependencies and
35MB for the Felix bundle cache (61 bundles in total).  The full
Tuscany (itest/osgi-tuscany) using the same third-party library
approach is 151 bundles and 133MB total.

I'd like to understand whether people feel this would be useful and
whether it is approaching the kind of overhead that would be
acceptable for it to be included in the main build?

Regards, Graham.

+1 from me...

The time and space bother me a lot less than whether it would cause any
extra failures.  What plagues me are build & test failures.  They can
take
hours to sort out.


Yours,  Mike.

Hi Graham

Any idea what the breakdown of that 2.5 mins is?

Simon

For me on my T60 this morning.

Full build

[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 40 minutes 9 seconds
[INFO] Finished at: Fri May 16 12:17:45 BST 2008
[INFO] Final Memory: 98M/170M
[INFO]
------------------------------------------------------------------------

osgi-tuscany

[INFO] BUILD SUCCESSFUL
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 8 minutes 4 seconds
[INFO] Finished at: Fri May 16 13:15:25 BST 2008
[INFO] Final Memory: 33M/99M
[INFO]
------------------------------------------------------------------------

Simon



Reply via email to