The new simpler scenario has a 100 jars with 10 packages and 15 classes per package, one loader per jar.
The tests are called SiblingVFSXXXBenchmarkTestCase and they run as follows:
Use Loader1 to load all its own classes and those from Loader2
Use Loader2 to load all its own classes and those from Loader3
...
For the exact classloading setups I make Loader 1 import the module/packages exported by Loader2 etc.
I run the tests individually using e.g.
mvn install -Dtest=SiblingVFSImportPackageLoaderBenchmarkTestCase
Running each test individually, I get these average results over 7 runs
| Deploy (ms) | Load Classes (ms) |
---|
Big ball of mud | 1439 | 4485 |
Package | 1321 | 4880 |
Module | 1461 | 4874 |
The code lives in svn under https://svn.jboss.org/repos/jbossas/projects/cl-benchmark/trunk
Each family of tests uses its own AbstractTestSetCreator implementation which generates jars under their own directory, e.g. ThreeDeepTestSetCreator and SiblingTestCreator. The tests currently