[jboss-cvs] JBossAS SVN: r106767 - in projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark: test and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jul 15 15:43:41 EDT 2010
Author: kabir.khan at jboss.com
Date: 2010-07-15 15:43:40 -0400 (Thu, 15 Jul 2010)
New Revision: 106767
Added:
projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOtherAlreadyLoadedBenchmarkTestCase.java
projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOtherNotAlreadyLoadedBenchmarkTestCase.java
Modified:
projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/AbstractClassLoaderBenchmark.java
projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/BenchmarkScenario.java
projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/ClassLoaderInfo.java
projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOwnLoaderBenchmarkTestCase.java
Log:
More Import/Export All tests
Modified: projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/AbstractClassLoaderBenchmark.java
===================================================================
--- projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/AbstractClassLoaderBenchmark.java 2010-07-15 19:31:19 UTC (rev 106766)
+++ projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/AbstractClassLoaderBenchmark.java 2010-07-15 19:43:40 UTC (rev 106767)
@@ -92,7 +92,12 @@
System.out.println("Load classes...");
start = System.currentTimeMillis();
- scenario.loadClasses(classLoaderInfos);
+ for (ClassLoaderInfo info : classLoaderInfos)
+ {
+ loadClasses(info, info.getOwnClassesToLoad());
+ loadClasses(info, info.getOtherClassesToLoad());
+ }
+
time = System.currentTimeMillis() - start;
System.out.println("Loading classes took." + time + "ms");
System.out.println("\n");
@@ -102,7 +107,13 @@
System.out.println("Successful classes: " + result.getSuccess());
System.out.println("Failed classes: " + result.getFailed());
System.out.println("Wrong loader (filter): " + result.getBadFilter());
-
-
}
+
+ private void loadClasses(ClassLoaderInfo info, String[] names)
+ {
+ for (int i = 0 ; i < names.length ; i++)
+ {
+ info.loadClass(names[i]);
+ }
+ }
}
Modified: projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/BenchmarkScenario.java
===================================================================
--- projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/BenchmarkScenario.java 2010-07-15 19:31:19 UTC (rev 106766)
+++ projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/BenchmarkScenario.java 2010-07-15 19:43:40 UTC (rev 106767)
@@ -31,6 +31,4 @@
public interface BenchmarkScenario
{
List<ClassLoaderInfo> createFactories(List<ClassPathElementInfo> infos);
-
- void loadClasses(List<ClassLoaderInfo> infos);
}
Modified: projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/ClassLoaderInfo.java
===================================================================
--- projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/ClassLoaderInfo.java 2010-07-15 19:31:19 UTC (rev 106766)
+++ projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/ClassLoaderInfo.java 2010-07-15 19:43:40 UTC (rev 106767)
@@ -40,6 +40,7 @@
private ClassLoader loader;
private LoadingResult result;
private String[] classesToLoad;
+ private ClassLoaderInfo loaderWhoseClassesToLoad;
public ClassLoaderInfo(ClassPathElementInfo info, VFSClassLoaderFactory factory)
{
@@ -119,9 +120,21 @@
return elementInfo.getUrl();
}
- public String[] getClassesToLoad()
+ public void setLoaderWhoseClassesToLoad(ClassLoaderInfo other)
{
+ loaderWhoseClassesToLoad = other;
+ }
+
+ public String[] getOwnClassesToLoad()
+ {
return classesToLoad;
}
+
+ public String[] getOtherClassesToLoad()
+ {
+ if (loaderWhoseClassesToLoad != null)
+ return loaderWhoseClassesToLoad.classesToLoad;
+ return classesToLoad;
+ }
}
Copied: projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOtherAlreadyLoadedBenchmarkTestCase.java (from rev 106765, projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOwnLoaderBenchmarkTestCase.java)
===================================================================
--- projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOtherAlreadyLoadedBenchmarkTestCase.java (rev 0)
+++ projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOtherAlreadyLoadedBenchmarkTestCase.java 2010-07-15 19:43:40 UTC (rev 106767)
@@ -0,0 +1,78 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.cl.benchmark.test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory;
+import org.jboss.test.cl.benchmark.AbstractClassLoaderBenchmark;
+import org.jboss.test.cl.benchmark.BenchmarkScenario;
+import org.jboss.test.cl.benchmark.ClassPathElementInfo;
+import org.jboss.test.cl.benchmark.ClassLoaderInfo;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class ImportExportAllOtherAlreadyLoadedBenchmarkTestCase extends AbstractClassLoaderBenchmark
+{
+ public ImportExportAllOtherAlreadyLoadedBenchmarkTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testLoadClassesFromOtherLoaderAlreadyLoader() throws Exception
+ {
+ runBenchmark(new BenchmarkScenario()
+ {
+
+ public List<ClassLoaderInfo> createFactories(List<ClassPathElementInfo> infos)
+ {
+ List<ClassLoaderInfo> classLoaderInfos = new ArrayList<ClassLoaderInfo>();
+
+ ClassLoaderInfo last = null;
+ for (ClassPathElementInfo info : infos)
+ {
+ VFSClassLoaderFactory factory = new VFSClassLoaderFactory(info.getName());
+ factory.setExportAll(ExportAll.NON_EMPTY);
+ factory.setImportAll(true);
+ factory.getRoots().add(info.getUrl().toString());
+ //Needed???
+ //factory.setIncludedPackages()
+
+ ClassLoaderInfo classLoaderInfo = new ClassLoaderInfo(info, factory);
+ classLoaderInfos.add(classLoaderInfo);
+
+ if (last != null)
+ classLoaderInfo.setLoaderWhoseClassesToLoad(last);
+ }
+
+
+ classLoaderInfos.get(0).setLoaderWhoseClassesToLoad(classLoaderInfos.get(classLoaderInfos.size() - 1));
+ return classLoaderInfos;
+ }
+ });
+ }
+}
Copied: projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOtherNotAlreadyLoadedBenchmarkTestCase.java (from rev 106765, projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOwnLoaderBenchmarkTestCase.java)
===================================================================
--- projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOtherNotAlreadyLoadedBenchmarkTestCase.java (rev 0)
+++ projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOtherNotAlreadyLoadedBenchmarkTestCase.java 2010-07-15 19:43:40 UTC (rev 106767)
@@ -0,0 +1,77 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.cl.benchmark.test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory;
+import org.jboss.test.cl.benchmark.AbstractClassLoaderBenchmark;
+import org.jboss.test.cl.benchmark.BenchmarkScenario;
+import org.jboss.test.cl.benchmark.ClassPathElementInfo;
+import org.jboss.test.cl.benchmark.ClassLoaderInfo;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class ImportExportAllOtherNotAlreadyLoadedBenchmarkTestCase extends AbstractClassLoaderBenchmark
+{
+ public ImportExportAllOtherNotAlreadyLoadedBenchmarkTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testLoadClassesFromOtherLoaderAlreadyLoader() throws Exception
+ {
+ runBenchmark(new BenchmarkScenario()
+ {
+
+ public List<ClassLoaderInfo> createFactories(List<ClassPathElementInfo> infos)
+ {
+ List<ClassLoaderInfo> classLoaderInfos = new ArrayList<ClassLoaderInfo>();
+
+ ClassLoaderInfo last = null;
+ for (ClassPathElementInfo info : infos)
+ {
+ VFSClassLoaderFactory factory = new VFSClassLoaderFactory(info.getName());
+ factory.setExportAll(ExportAll.NON_EMPTY);
+ factory.setImportAll(true);
+ factory.getRoots().add(info.getUrl().toString());
+ //Needed???
+ //factory.setIncludedPackages()
+
+ ClassLoaderInfo classLoaderInfo = new ClassLoaderInfo(info, factory);
+ classLoaderInfos.add(classLoaderInfo);
+
+ if (last != null)
+ last.setLoaderWhoseClassesToLoad(classLoaderInfo);
+ }
+
+ classLoaderInfos.get(classLoaderInfos.size() - 1).setLoaderWhoseClassesToLoad(classLoaderInfos.get(0));
+ return classLoaderInfos;
+ }
+ });
+ }
+}
Modified: projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOwnLoaderBenchmarkTestCase.java
===================================================================
--- projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOwnLoaderBenchmarkTestCase.java 2010-07-15 19:31:19 UTC (rev 106766)
+++ projects/cl-benchmark/trunk/src/test/java/org/jboss/test/cl/benchmark/test/ImportExportAllOwnLoaderBenchmarkTestCase.java 2010-07-15 19:43:40 UTC (rev 106767)
@@ -43,7 +43,7 @@
super(name);
}
- public void testSanity() throws Exception
+ public void testLoadClassesFromOwnLoader() throws Exception
{
runBenchmark(new BenchmarkScenario()
{
@@ -66,20 +66,6 @@
return deploymentInfos;
}
-
- public void loadClasses(List<ClassLoaderInfo> infos)
- {
- for (ClassLoaderInfo info : infos)
- {
- String[] names = info.getClassesToLoad();
-
- for (int i = 0 ; i < names.length ; i++)
- {
- info.loadClass(names[i]);
- }
- }
- }
-
});
}
}
More information about the jboss-cvs-commits
mailing list