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
wrap.
3. Embed thirdparty bundles like log4j & Co. in the systembundle and export
them with FRAMEWORK_SYSTEMPACKAGES_EXTRA.
4. Extract all classes of an embedded library into your wrapper bundle.
(inline=true)
5. Avoid dynamic imports.
6. Declare unnecessary / "unused" package dependencies as optional.
(resolution:=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
late.)
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
bundles*!

Did I forget something?

best regards
Roland







--
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


Mime
View raw message