felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roland <...@ids.de>
Subject Re: How to improve the start time of Apache Felix
Date Fri, 20 Sep 2013 16:45:14 GMT
Today I investigated the performance-effects of dynamic imports. Replacing
the dynamic imports with static imports reduces the start time of my system
by about ~10%. (it depends on how many imports you have)

My summary...
If someone asks me how to reduce the startup time, then I would suggest him:

1. *Reduce / avoid (transitive) dependencies at all.* (Choose thirdparty
bundles with less transitive dependencies.) I achieved the biggest speed
boost by far by downgrading of Log4j2 to Log4j1.2.
2. Embed all transitive dependencies together with the library you want to
3. Embed thirdparty bundles like log4j & Co. in the systembundle and export
4. Extract all classes of an embedded library into your wrapper bundle.
5. Avoid dynamic imports.
6. Declare unnecessary / "unused" package dependencies as optional.
7. Use lazy activation.
8. Use hooks / threads in the BundleActivator-callbacks if you have to wait
/ synchronize.
9. Do not implement Declarative Services if you have to synchronize threads.
(You have to wait until all DS are registered, but that can happen very
10. Do not use the LogService, implement your own
org.apache.felix.framework.Logger instead.
11. Do not clean the bundle cache before startup, *start only cached

Did I forget something?

best regards

View this message in context: http://apache-felix.18485.x6.nabble.com/How-to-improve-the-start-time-of-Apache-Felix-tp5004833p5005101.html
Sent from the Apache Felix - Users mailing list archive at Nabble.com.

To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org

View raw message