You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2014/10/16 00:05:14 UTC
svn commit: r1632188 -
/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/README
Author: pderop
Date: Wed Oct 15 22:05:14 2014
New Revision: 1632188
URL: http://svn.apache.org/r1632188
Log:
Updated README with results compared with/without DM filter indices
Modified:
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/README
Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/README
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/README?rev=1632188&r1=1632187&r2=1632188&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/README (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.benchmark/README Wed Oct 15 22:05:14 2014
@@ -12,13 +12,14 @@ adjust the project specific setting and
How to launch the stress test under bndtools:
============================================
-The stress test performs two kind of tests on different Felix DI framework (currently, we support DM4, Parallel DM4, and Felix SCR):
+The stress test performs two kind of tests on different Felix DI framework (currently, we support
+DM4, Parallel DM4, and Felix SCR):
-1) first kind of test: starts/stops several times each tested bundles. When started, the test bundle
-is expected to register/unregister several services. And no processing is done at all in each
-component activation/deactivation methods (start/stop methods).
+1) first kind of tests: starts/stops several times each tested bundle (SCR/DM/Parallel DM). When
+started, the test bundle is expected to register/unregister several services. And no processing is
+done at all in each component activation/deactivation methods (start/stop methods).
-2) second kind of test: same as before, but some processing is done in each component start/stop methods.
+2) second kind of tests: same as before, but some processing is done in each component start/stop methods.
To launch the stress test under BndTools, click on the bnd.bnd file of the
"org.apache.felix.dm.benchmark" project, then click on "Run", then in "Run OSGi".
@@ -26,35 +27,54 @@ To launch the stress test under BndTools
You should see something like that in the eclipse console:
-----------------------------------------------------------------------------------------------------------------
-Welcome to Apache Felix Gogo
-
- +++++ Starting benchmarks without processing done in components start/stop methods.
+ +++++ Starting benchmarks without processing done in components start/stop methods.
Benchmarking bundle: org.apache.felix.dependencymanager.benchmark.scr
-....................................................................................................
- results=148183942,151816020,152593142,168381327,550953914
+..........
+ results=1246252843,1327149744,1365941150,1451005845,1962988382
Benchmarking bundle: org.apache.felix.dependencymanager.benchmark.dependencymanager
-....................................................................................................
- results=97276169,98480544,99026696,120827182,315697938
+..........
+ results=1081571856,1120311799,1147294748,1180433380,1364416266
Benchmarking bundle: org.apache.felix.dependencymanager.benchmark.dependencymanager.parallel
-....................................................................................................
- results=41748516,43030319,43902095,46535902,161389470
+..........
+ results=304332980,318642605,324083522,342478908,372528182
- +++++ Starting benchmarks with processing done in components start/stop methods.
+ +++++ Starting benchmarks with processing done in components start/stop methods.
Benchmarking bundle: org.apache.felix.dependencymanager.benchmark.scr
.....
- results=3206278286,3209191723,3210389749,3223619309,3242734308
+ results=2504404520,2534018186,2541746956,2573198876,2630100397
Benchmarking bundle: org.apache.felix.dependencymanager.benchmark.dependencymanager
.....
- results=3152939984,3153659259,3154590124,3155489090,3182967777
+ results=2311565810,2322039712,2329461041,2333647181,2350342868
Benchmarking bundle: org.apache.felix.dependencymanager.benchmark.dependencymanager.parallel
.....
- results=806825303,808750246,811454052,814643994,818675967
+ results=332018499,334763664,341195822,344027160,348024405
+-----------------------------------------------------------------------------------------------------------------
+
+You can also possibly run the same test using optimized DM filter indices.
+To do so, add the following jvm system parameters in the run descriptor:
+
+ -Dorg.apache.felix.dependencymanager.filterindex=objectClass,id
+
+And you will then observer some significant performance improvements. In the following run output using filter indices,
+we see that:
+
+- the "org.apache.felix.dependencymanager.benchmark.dependencymanager" takes around 679403552 nanos instead of 1147294748
+- the "org.apache.felix.dependencymanager.benchmark.dependencymanager.parallel" takes around 176116868 nanos instead of 324083522
+
+-----------------------------------------------------------------------------------------------------------------
+Benchmarking bundle: org.apache.felix.dependencymanager.benchmark.dependencymanager
+..........
+ results=664985253,669723795,679403552,743587884,891414633
+
+Benchmarking bundle: org.apache.felix.dependencymanager.benchmark.dependencymanager.parallel
+..........
+ results=151237261,153245516,176116868,188048920,215333067
-----------------------------------------------------------------------------------------------------------------
How to interpret results: