From: <ste...@us...> - 2008-07-26 01:23:46
|
Revision: 379 http://dacapobench.svn.sourceforge.net/dacapobench/?rev=379&view=rev Author: steveb-oss Date: 2008-07-26 01:23:30 +0000 (Sat, 26 Jul 2008) Log Message: ----------- major refactoring and re-org Modified Paths: -------------- benchmarks/trunk/benchmarks/ant/dacapo.properties benchmarks/trunk/benchmarks/antlr/antlr.cnf benchmarks/trunk/benchmarks/antlr/build.xml benchmarks/trunk/benchmarks/batik/batik.cnf benchmarks/trunk/benchmarks/batik/build.xml benchmarks/trunk/benchmarks/bloat/bloat.cnf benchmarks/trunk/benchmarks/bloat/build.xml benchmarks/trunk/benchmarks/build.xml benchmarks/trunk/benchmarks/chart/build.xml benchmarks/trunk/benchmarks/chart/chart.cnf benchmarks/trunk/benchmarks/common.xml benchmarks/trunk/benchmarks/derby/build.xml benchmarks/trunk/benchmarks/derby/derby.cnf benchmarks/trunk/benchmarks/eclipse/build.xml benchmarks/trunk/benchmarks/eclipse/eclipse.cnf benchmarks/trunk/benchmarks/fop/build.xml benchmarks/trunk/benchmarks/fop/fop.cnf benchmarks/trunk/benchmarks/harness/src/org/dacapo/parser/Config.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/parser/ConfigFile.jj benchmarks/trunk/benchmarks/hsqldb/build.xml benchmarks/trunk/benchmarks/hsqldb/hsqldb.cnf benchmarks/trunk/benchmarks/jython/build.xml benchmarks/trunk/benchmarks/jython/jython.cnf benchmarks/trunk/benchmarks/jython/pybench.xml benchmarks/trunk/benchmarks/luindex/build.xml benchmarks/trunk/benchmarks/luindex/luindex.cnf benchmarks/trunk/benchmarks/lusearch/build.xml benchmarks/trunk/benchmarks/lusearch/lusearch.cnf benchmarks/trunk/benchmarks/pmd/build.xml benchmarks/trunk/benchmarks/pmd/pmd.cnf benchmarks/trunk/benchmarks/sunflow/build.xml benchmarks/trunk/benchmarks/sunflow/sunflow.cnf benchmarks/trunk/benchmarks/xalan/build.xml benchmarks/trunk/benchmarks/xalan/xalan.cnf Added Paths: ----------- benchmarks/trunk/benchmarks/antlr/data/ benchmarks/trunk/benchmarks/antlr/data/antlr/ benchmarks/trunk/benchmarks/antlr/downloads/ benchmarks/trunk/benchmarks/antlr/downloads/antlr-2.7.7.tar.gz.MD5 benchmarks/trunk/benchmarks/antlr/src/ benchmarks/trunk/benchmarks/antlr/src/Antlr.java benchmarks/trunk/benchmarks/antlr/src/org/ benchmarks/trunk/benchmarks/antlr/src/org/dacapo/ benchmarks/trunk/benchmarks/antlr/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/antlr/src/org/dacapo/harness/Antlr.java benchmarks/trunk/benchmarks/batik/data/ benchmarks/trunk/benchmarks/batik/data/batik/ benchmarks/trunk/benchmarks/batik/downloads/ benchmarks/trunk/benchmarks/batik/downloads/batik-src-1.7beta1.zip.MD5 benchmarks/trunk/benchmarks/batik/src/ benchmarks/trunk/benchmarks/batik/src/Batik.java benchmarks/trunk/benchmarks/batik/src/org/ benchmarks/trunk/benchmarks/batik/src/org/dacapo/ benchmarks/trunk/benchmarks/batik/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/batik/src/org/dacapo/harness/Batik.java benchmarks/trunk/benchmarks/bloat/downloads/ benchmarks/trunk/benchmarks/bloat/downloads/bloat-1.0.src.jar.MD5 benchmarks/trunk/benchmarks/bloat/src/ benchmarks/trunk/benchmarks/bloat/src/Bloat.java benchmarks/trunk/benchmarks/bloat/src/org/ benchmarks/trunk/benchmarks/bloat/src/org/dacapo/ benchmarks/trunk/benchmarks/bloat/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/bloat/src/org/dacapo/harness/Bloat.java benchmarks/trunk/benchmarks/chart/data/ benchmarks/trunk/benchmarks/chart/data/chart/ benchmarks/trunk/benchmarks/chart/downloads/ benchmarks/trunk/benchmarks/chart/downloads/itext-1.02b.jar.MD5 benchmarks/trunk/benchmarks/chart/downloads/jfreechart-1.0.8.tar.gz.MD5 benchmarks/trunk/benchmarks/chart/src/ benchmarks/trunk/benchmarks/chart/src/Chart.java benchmarks/trunk/benchmarks/chart/src/org/ benchmarks/trunk/benchmarks/chart/src/org/dacapo/ benchmarks/trunk/benchmarks/chart/src/org/dacapo/chart/ benchmarks/trunk/benchmarks/chart/src/org/dacapo/chart/Datasets.java benchmarks/trunk/benchmarks/chart/src/org/dacapo/chart/Graph.java benchmarks/trunk/benchmarks/chart/src/org/dacapo/chart/GraphConstants.java benchmarks/trunk/benchmarks/chart/src/org/dacapo/chart/Plotter.java benchmarks/trunk/benchmarks/chart/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/chart/src/org/dacapo/harness/Chart.java benchmarks/trunk/benchmarks/derby/downloads/ benchmarks/trunk/benchmarks/derby/downloads/db-derby-10.3.2.1-src.tar.gz.MD5 benchmarks/trunk/benchmarks/derby/src/ benchmarks/trunk/benchmarks/derby/src/Derby.java benchmarks/trunk/benchmarks/derby/src/org/ benchmarks/trunk/benchmarks/derby/src/org/dacapo/ benchmarks/trunk/benchmarks/derby/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/derby/src/org/dacapo/harness/Derby.java benchmarks/trunk/benchmarks/eclipse/data/ benchmarks/trunk/benchmarks/eclipse/data/dummyjre.zip benchmarks/trunk/benchmarks/eclipse/downloads/ benchmarks/trunk/benchmarks/eclipse/downloads/eclipse-Automated-Tests-3.1.2.zip.MD5 benchmarks/trunk/benchmarks/eclipse/downloads/eclipse-SDK-3.1.2-linux-gtk.tar.gz.MD5 benchmarks/trunk/benchmarks/eclipse/src/ benchmarks/trunk/benchmarks/eclipse/src/Eclipse.java benchmarks/trunk/benchmarks/eclipse/src/org/ benchmarks/trunk/benchmarks/eclipse/src/org/dacapo/ benchmarks/trunk/benchmarks/eclipse/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/eclipse/src/org/dacapo/harness/Eclipse.java benchmarks/trunk/benchmarks/fop/data/ benchmarks/trunk/benchmarks/fop/data/fop/ benchmarks/trunk/benchmarks/fop/downloads/ benchmarks/trunk/benchmarks/fop/downloads/fop-0.94-src.tar.gz.MD5 benchmarks/trunk/benchmarks/fop/src/ benchmarks/trunk/benchmarks/fop/src/Fop.java benchmarks/trunk/benchmarks/fop/src/org/ benchmarks/trunk/benchmarks/fop/src/org/dacapo/ benchmarks/trunk/benchmarks/fop/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/fop/src/org/dacapo/harness/Fop.java benchmarks/trunk/benchmarks/harness/ benchmarks/trunk/benchmarks/harness/src/ benchmarks/trunk/benchmarks/harness/src/GcCallback.java benchmarks/trunk/benchmarks/harness/src/Harness.java benchmarks/trunk/benchmarks/harness/src/META-INF/ benchmarks/trunk/benchmarks/harness/src/MMTkCallback.java benchmarks/trunk/benchmarks/harness/src/MMTkHarness.java benchmarks/trunk/benchmarks/harness/src/MyCallback.java benchmarks/trunk/benchmarks/harness/src/org/ benchmarks/trunk/benchmarks/harness/src/org/dacapo/ benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/Benchmark.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/Callback.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/CommandLineArgs.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/DacapoClassLoader.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/DacapoException.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/Digest.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/FileDigest.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/LatexDescriptions.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/Matcher.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/Slice.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/TeeOutputStream.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/TeePrintStream.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/harness/TestHarness.java benchmarks/trunk/benchmarks/harness/src/org/dacapo/parser/ benchmarks/trunk/benchmarks/hsqldb/downloads/ benchmarks/trunk/benchmarks/hsqldb/downloads/hsqldb_1_8_0_4.zip.MD5 benchmarks/trunk/benchmarks/hsqldb/src/ benchmarks/trunk/benchmarks/hsqldb/src/Hsqldb.java benchmarks/trunk/benchmarks/hsqldb/src/org/ benchmarks/trunk/benchmarks/hsqldb/src/org/dacapo/ benchmarks/trunk/benchmarks/hsqldb/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/hsqldb/src/org/dacapo/harness/Hsqldb.java benchmarks/trunk/benchmarks/jython/data/ benchmarks/trunk/benchmarks/jython/data/jython/ benchmarks/trunk/benchmarks/jython/downloads/ benchmarks/trunk/benchmarks/jython/downloads/Python-2.5.tgz.MD5 benchmarks/trunk/benchmarks/jython/downloads/jython_installer-2.2.1.jar.MD5 benchmarks/trunk/benchmarks/jython/src/ benchmarks/trunk/benchmarks/jython/src/Jython.java benchmarks/trunk/benchmarks/jython/src/org/ benchmarks/trunk/benchmarks/jython/src/org/dacapo/ benchmarks/trunk/benchmarks/jython/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/jython/src/org/dacapo/harness/Jython.java benchmarks/trunk/benchmarks/libs/ benchmarks/trunk/benchmarks/libs/common.xml benchmarks/trunk/benchmarks/libs/janino/ benchmarks/trunk/benchmarks/libs/janino/build.xml benchmarks/trunk/benchmarks/libs/janino/downloads/ benchmarks/trunk/benchmarks/libs/janino/downloads/janino-2.5.2.zip.MD5 benchmarks/trunk/benchmarks/libs/jdbcbench/ benchmarks/trunk/benchmarks/libs/jdbcbench/build.xml benchmarks/trunk/benchmarks/libs/jdbcbench/src/ benchmarks/trunk/benchmarks/libs/jdbcbench/src/org/ benchmarks/trunk/benchmarks/libs/jdbcbench/src/org/dacapo/ benchmarks/trunk/benchmarks/libs/jdbcbench/src/org/dacapo/jdbcbench/ benchmarks/trunk/benchmarks/libs/jdbcbench/src/org/dacapo/jdbcbench/PseudoJDBCBench.java benchmarks/trunk/benchmarks/libs/junit/ benchmarks/trunk/benchmarks/libs/junit/build.xml benchmarks/trunk/benchmarks/libs/junit/downloads/ benchmarks/trunk/benchmarks/libs/junit/downloads/junit3.8.1.zip.MD5 benchmarks/trunk/benchmarks/libs/lucene/ benchmarks/trunk/benchmarks/libs/lucene/build.xml benchmarks/trunk/benchmarks/libs/lucene/downloads/ benchmarks/trunk/benchmarks/libs/lucene/downloads/lucene-1.9.1-src.tar.gz.MD5 benchmarks/trunk/benchmarks/libs/xerces/ benchmarks/trunk/benchmarks/libs/xerces/build.xml benchmarks/trunk/benchmarks/libs/xerces/downloads/ benchmarks/trunk/benchmarks/libs/xerces/downloads/Xerces-J-bin.2.8.0.tar.gz.MD5 benchmarks/trunk/benchmarks/luindex/downloads/ benchmarks/trunk/benchmarks/luindex/downloads/kjv.zip.MD5 benchmarks/trunk/benchmarks/luindex/downloads/shakespeare.tgz.MD5 benchmarks/trunk/benchmarks/luindex/src/ benchmarks/trunk/benchmarks/luindex/src/Luindex.java benchmarks/trunk/benchmarks/luindex/src/org/ benchmarks/trunk/benchmarks/luindex/src/org/dacapo/ benchmarks/trunk/benchmarks/luindex/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/luindex/src/org/dacapo/harness/Luindex.java benchmarks/trunk/benchmarks/luindex/src/org/dacapo/luindex/ benchmarks/trunk/benchmarks/luindex/src/org/dacapo/luindex/Index.java benchmarks/trunk/benchmarks/lusearch/Lusearch.java benchmarks/trunk/benchmarks/lusearch/data/ benchmarks/trunk/benchmarks/lusearch/data/lusearch/ benchmarks/trunk/benchmarks/lusearch/src/ benchmarks/trunk/benchmarks/lusearch/src/org/ benchmarks/trunk/benchmarks/lusearch/src/org/dacapo/ benchmarks/trunk/benchmarks/lusearch/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/lusearch/src/org/dacapo/harness/Lusearch.java benchmarks/trunk/benchmarks/lusearch/src/org/dacapo/lusearch/ benchmarks/trunk/benchmarks/lusearch/src/org/dacapo/lusearch/Search.java benchmarks/trunk/benchmarks/pmd/data/ benchmarks/trunk/benchmarks/pmd/data/pmd/ benchmarks/trunk/benchmarks/pmd/downloads/ benchmarks/trunk/benchmarks/pmd/downloads/pmd-src-3.7.zip.MD5 benchmarks/trunk/benchmarks/pmd/src/ benchmarks/trunk/benchmarks/pmd/src/Pmd.java benchmarks/trunk/benchmarks/pmd/src/org/ benchmarks/trunk/benchmarks/pmd/src/org/dacapo/ benchmarks/trunk/benchmarks/pmd/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/pmd/src/org/dacapo/harness/Pmd.java benchmarks/trunk/benchmarks/sunflow/downloads/ benchmarks/trunk/benchmarks/sunflow/downloads/sunflow-bin-v0.07.1.zip.MD5 benchmarks/trunk/benchmarks/sunflow/downloads/sunflow-src-v0.07.1.zip.MD5 benchmarks/trunk/benchmarks/sunflow/src/ benchmarks/trunk/benchmarks/sunflow/src/Sunflow.java benchmarks/trunk/benchmarks/sunflow/src/org/ benchmarks/trunk/benchmarks/sunflow/src/org/dacapo/ benchmarks/trunk/benchmarks/sunflow/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/sunflow/src/org/dacapo/harness/Sunflow.java benchmarks/trunk/benchmarks/util.xml benchmarks/trunk/benchmarks/xalan/downloads/ benchmarks/trunk/benchmarks/xalan/src/ benchmarks/trunk/benchmarks/xalan/src/Xalan.java benchmarks/trunk/benchmarks/xalan/src/org/ benchmarks/trunk/benchmarks/xalan/src/org/dacapo/ benchmarks/trunk/benchmarks/xalan/src/org/dacapo/harness/ benchmarks/trunk/benchmarks/xalan/src/org/dacapo/harness/Xalan.java benchmarks/trunk/benchmarks/xalan/src/org/dacapo/xalan/ benchmarks/trunk/benchmarks/xalan/src/org/dacapo/xalan/XSLTBench.java Removed Paths: ------------- benchmarks/trunk/benchmarks/ant/janino.xml benchmarks/trunk/benchmarks/ant/jdbcbench.xml benchmarks/trunk/benchmarks/ant/junit.xml benchmarks/trunk/benchmarks/ant/lucene.xml benchmarks/trunk/benchmarks/ant/xerces.xml benchmarks/trunk/benchmarks/bmsrc/dacapo/PseudoJDBCBench.java benchmarks/trunk/benchmarks/bmsrc/dacapo/antlr/AntlrHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/antlr/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/batik/BatikHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/batik/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/bloat/BloatHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/bloat/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/chart/ChartHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/chart/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/chart/plotter/Datasets.java benchmarks/trunk/benchmarks/bmsrc/dacapo/chart/plotter/Graph.java benchmarks/trunk/benchmarks/bmsrc/dacapo/chart/plotter/GraphConstants.java benchmarks/trunk/benchmarks/bmsrc/dacapo/chart/plotter/Plotter.java benchmarks/trunk/benchmarks/bmsrc/dacapo/derby/DerbyHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/derby/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/eclipse/EclipseHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/eclipse/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/fop/FopHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/fop/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/hsqldb/HsqldbHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/hsqldb/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/jython/JythonHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/jython/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/luindex/LuindexHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/luindex/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/luindex/benchmark/LuindexBenchmark.java benchmarks/trunk/benchmarks/bmsrc/dacapo/lusearch/LusearchHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/lusearch/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/lusearch/benchmark/LusearchBenchmark.java benchmarks/trunk/benchmarks/bmsrc/dacapo/pmd/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/pmd/PmdHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/sunflow/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/sunflow/SunflowHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/xalan/Main.java benchmarks/trunk/benchmarks/bmsrc/dacapo/xalan/XalanHarness.java benchmarks/trunk/benchmarks/bmsrc/dacapo/xalan/benchmark/XalanBenchmark.java benchmarks/trunk/benchmarks/data/antlr/ benchmarks/trunk/benchmarks/data/batik/ benchmarks/trunk/benchmarks/data/chart/ benchmarks/trunk/benchmarks/data/eclipse/dummyjre.zip benchmarks/trunk/benchmarks/data/fop/ benchmarks/trunk/benchmarks/data/jython/ benchmarks/trunk/benchmarks/data/lusearch/ benchmarks/trunk/benchmarks/data/pmd/ benchmarks/trunk/benchmarks/lib-common.xml benchmarks/trunk/benchmarks/src/GcCallback.java benchmarks/trunk/benchmarks/src/Harness.java benchmarks/trunk/benchmarks/src/META-INF/ benchmarks/trunk/benchmarks/src/MMTkCallback.java benchmarks/trunk/benchmarks/src/MMTkHarness.java benchmarks/trunk/benchmarks/src/MyCallback.java benchmarks/trunk/benchmarks/src/dacapo/Benchmark.java benchmarks/trunk/benchmarks/src/dacapo/Callback.java benchmarks/trunk/benchmarks/src/dacapo/CommandLineArgs.java benchmarks/trunk/benchmarks/src/dacapo/DacapoClassLoader.java benchmarks/trunk/benchmarks/src/dacapo/DacapoException.java benchmarks/trunk/benchmarks/src/dacapo/Digest.java benchmarks/trunk/benchmarks/src/dacapo/FileDigest.java benchmarks/trunk/benchmarks/src/dacapo/LatexDescriptions.java benchmarks/trunk/benchmarks/src/dacapo/Matcher.java benchmarks/trunk/benchmarks/src/dacapo/Slice.java benchmarks/trunk/benchmarks/src/dacapo/TeeOutputStream.java benchmarks/trunk/benchmarks/src/dacapo/TeePrintStream.java benchmarks/trunk/benchmarks/src/dacapo/TestHarness.java benchmarks/trunk/benchmarks/src/dacapo/parser/ Modified: benchmarks/trunk/benchmarks/ant/dacapo.properties =================================================================== --- benchmarks/trunk/benchmarks/ant/dacapo.properties 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/ant/dacapo.properties 2008-07-26 01:23:30 UTC (rev 379) @@ -13,22 +13,12 @@ # Directory structure # sources=${basedir}/sources -build.src=${basedir}/build_src -build=${basedir}/build -patches=${basedir}/patches -bmsrc=${basedir}/bmsrc -src=${basedir}/src -build.deps=build_deps -extra=../extra ant.dir=ant -src=src -data=data -jars=${build}/jar -zipdata=${build}/dat -config=cnf dep.tmp=deps + +jar-target=dacapo.jar # # properties shared by several benchmarks # -junit-jar=${jars}/junit.jar +junit-jar=${basedir}/libs/junit/dist/jar/junit.jar Deleted: benchmarks/trunk/benchmarks/ant/janino.xml =================================================================== --- benchmarks/trunk/benchmarks/ant/janino.xml 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/ant/janino.xml 2008-07-26 01:23:30 UTC (rev 379) @@ -1,32 +0,0 @@ -<project name="janino" default="library" basedir=".."> - <description>janino library, required by sunflow</description> - - <property name="lib-name" value="janino"/> - <property name="lib-version" value="2.5.2"/> - <property name="lib-url" value="http://www.janino.net/download"/> - <property name="lib-src" value="janino-${lib-version}.zip"/> - - <import file="../lib-common.xml"/> - - <property name="lib-build-top" value="${lib-build-dir}/janino-${lib-version}"/> - - <target name="library" depends="lib-unzip, lib-build, lib-jar"/> - - <target name="lib-build"> - <condition property="build.dest" value="${build}" else="${build.deps}"> - <not> - <equals arg1="${externalize.deps}" arg2="true"/> - </not> - </condition> - <condition property="jdk.home" value="${java.home}" else="${java.home}/.."> - <not><contains string="${java.home}" substring="/jre"/></not> - </condition> - <ant antfile="build.xml" dir="${lib-build-top}" inheritAll="false"> - <property name="jdk_1_2_2_home" value="${jdk.home}"/> - </ant> - </target> - - <target name="lib-jar"> - <copy file="${lib-build-top}/lib/janino.jar" tofile="${lib-jar-name}"/> - </target> -</project> \ No newline at end of file Deleted: benchmarks/trunk/benchmarks/ant/jdbcbench.xml =================================================================== --- benchmarks/trunk/benchmarks/ant/jdbcbench.xml 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/ant/jdbcbench.xml 2008-07-26 01:23:30 UTC (rev 379) @@ -1,35 +0,0 @@ -<project name="jdbcbench" default="library" basedir=".."> - <description>jdbcbench library, as used by hsqldb and derby</description> - - <property name="lib-name" value="jdbcbench"/> - - <import file="../lib-common.xml"/> - - <property name="jdbc-file" value="dacapo/PseudoJDBCBench.java"/> - <property name="jdbc-src-dir" value="${bmsrc}"/> - <property name="jdbc-jar" value="${jars}/jdbcbench.jar"/> - - <target name="lib-source"/> - - <target name="library" depends="lib-build, lib-jar"/> - - <target name="lib-build" depends="jdbc-jar-check" unless="jdbc-built"> - <mkdir dir="${lib-build-dir}"/> - <javac srcdir="${jdbc-src-dir}" classpath="${build}" - destdir="${lib-build-dir}" - source="1.5" - includes="${jdbc-file}" - debug="true" debuglevel="lines,vars,source"> - </javac> - </target> - - <target name="lib-jar"> - <jar destfile="${jdbc-jar}" basedir="${lib-build-dir}"/> - </target> - - <target name="jdbc-jar-check"> - <condition property="jdbc-built"> - <uptodate targetfile="${jdbc-jar}" srcfile="${jdbc-src-dir}/${jdbc-file}"/> - </condition> - </target> -</project> \ No newline at end of file Deleted: benchmarks/trunk/benchmarks/ant/junit.xml =================================================================== --- benchmarks/trunk/benchmarks/ant/junit.xml 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/ant/junit.xml 2008-07-26 01:23:30 UTC (rev 379) @@ -1,36 +0,0 @@ -<project name="junit" default="library" basedir=".."> - <description>junit library, required by pmd, hsqldb and derby</description> - - <property file="ant/dacapo.properties"/> - - <property name="lib-name" value="junit"/> - <property name="lib-version" value="3.8.1"/> - <property name="lib-url" value="${sourceforge.dl.url}/junit"/> - <property name="lib-src" value="junit${lib-version}.zip"/> - - <import file="../lib-common.xml"/> - - <property name="junit-jar-name" value="${lib-name}-${lib-version}.jar"/> - <property name="junit-jar" value="${jars}/${junit-jar-name}"/> - - <target name="library" depends="lib-unzip, lib-build, lib-jar"/> - - <target name="lib-unzip"> - <mkdir dir="${lib-build-dir}/"/> - <unzip src="${sources}/${lib-src}" dest="${lib-build-dir}/"> - <patternset> - <include name="junit${lib-version}/junit.jar"/> - </patternset> - </unzip> - </target> - - <target name="lib-jar" depends="junit-jar-check" unless="junit-build-done"> - <copy file="${lib-build-dir}/junit${lib-version}/junit.jar" tofile="${junit-jar}"/> - </target> - - <target name="junit-jar-check"> - <condition property="junit-build-done"> - <available file="${junit-jar}"/> - </condition> - </target> -</project> \ No newline at end of file Deleted: benchmarks/trunk/benchmarks/ant/lucene.xml =================================================================== --- benchmarks/trunk/benchmarks/ant/lucene.xml 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/ant/lucene.xml 2008-07-26 01:23:30 UTC (rev 379) @@ -1,26 +0,0 @@ -<project name="lucene" default="all" basedir=".."> - <description>lucene library, required by lusearch and luindex</description> - <property file="ant/dacapo.properties"/> - - <property name="lib-name" value="lucene"/> - <property name="lib-version" value="1.9.1"/> - <property name="lib-url" value="${apache.dl.url}/lucene/java"/> - <property name="lib-src" value="lucene-${lib-version}-src.tar.gz"/> - - <import file="../lib-common.xml"/> - - <property name="lib-build-top" value="${lib-build-dir}/lucene-${lib-version}"/> - - - <target name="library" depends="lib-untar, lib-build, lib-jar"/> - - <target name="lib-build"> - <ant antfile="build.xml" target="jar-core" dir="${lib-build-top}" inheritall="false"/> - <ant antfile="build.xml" target="jar-demo" dir="${lib-build-top}" inheritall="false"/> - </target> - - <target name="lib-jar"> - <copy file="${lib-build-top}/build/lucene-core-1.9.2-dev.jar" todir="${jars}"/> - <copy file="${lib-build-top}/build/lucene-demos-1.9.2-dev.jar" todir="${jars}"/> - </target> -</project> Deleted: benchmarks/trunk/benchmarks/ant/xerces.xml =================================================================== --- benchmarks/trunk/benchmarks/ant/xerces.xml 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/ant/xerces.xml 2008-07-26 01:23:30 UTC (rev 379) @@ -1,47 +0,0 @@ -<project name="xerces" default="library" basedir=".."> - <description>xerces library, required by xalan</description> - <property file="ant/dacapo.properties"/> - - <property name="lib-name" value="xerces"/> - <property name="lib-version" value="2.8.0"/> - <property name="lib-_version" value="2_8_0"/> - <property name="lib-url" value="${apache.dl.url}/xml/xerces-j/binaries"/> - <property name="lib-src" value="Xerces-J-bin.${lib-version}.tar.gz"/> - - <import file="../lib-common.xml"/> - - <property name="lib-build-top" value="${lib-build-dir}/${lib-name}-${lib-_version}"/> - <property name="xerces-impl-jar-name" value="xercesImpl.jar"/> - <property name="xerces-api-jar-name" value="xml-apis.jar"/> - - <target name="library" depends="lib-untar, lib-build, lib-jar"/> - - <target name="lib-build"> - <condition property="xerces-jar" value="${lib-build-top}/xerces.jar" else="${lib-build-top}/xercesImpl.jar"> - <contains string="${lib-version}" substring="1.4.4"/> - </condition> - <condition property="xercesxml-jar" value="${lib-build-top}/xmlParserAPIs.jar" else="${lib-build-top}/xml-apis.jar"> - <contains string="${lib-version}" substring="2.2.1"/> - </condition> - </target> - - <target name="lib-jar" depends="lib-deps"> - <copy file="${xerces-jar}" tofile="${jars}/${xerces-impl-jar-name}"/> - <copy file="${xercesxml-jar}" tofile="${jars}/${xerces-api-jar-name}"/> - </target> - - <target name="lib-deps" if="externalize.deps"> - <copy src="${xerces-jar}" tofile="${build}/${xerces-impl-jar-name}"/> - <copy src="${xercesxml-jar}" tofile="${build}/${xerces-api-jar-name}"/> - </target> - - <target name="xerces-done-check"> - <condition property="xerces-build-done"> - <and> - <available file="${build}/${xerces-impl-jar-name}"/> - <available file="${build}/${xerces-api-jar-name}"/> - </and> - </condition> - </target> - -</project> \ No newline at end of file Modified: benchmarks/trunk/benchmarks/antlr/antlr.cnf =================================================================== --- benchmarks/trunk/benchmarks/antlr/antlr.cnf 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/antlr/antlr.cnf 2008-07-26 01:23:30 UTC (rev 379) @@ -1,5 +1,5 @@ benchmark antlr - class dacapo.antlr.AntlrHarness + class org.dacapo.harness.Antlr jar "antlr.jar" thread-model single; Modified: benchmarks/trunk/benchmarks/antlr/build.xml =================================================================== --- benchmarks/trunk/benchmarks/antlr/build.xml 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/antlr/build.xml 2008-07-26 01:23:30 UTC (rev 379) @@ -9,7 +9,9 @@ <import file="../common.xml"/> - <target name="bm-build" depends="bm-untar"> + <target name="unpack" depends="untar"/> + + <target name="bm-build"> <mkdir dir="${bm-build-dir}/classes"/> <javac srcdir="${bm-build-dir}/${bm-name}-${bm-version}/antlr/" source="1.4" @@ -18,4 +20,7 @@ debug="true" debuglevel="lines,vars,source"/> </target> + <target name="jar"> + <jar jarfile="${bm-jars}/${bm-name}.jar" basedir="${bm-build-dir}/classes"/> + </target> </project> Added: benchmarks/trunk/benchmarks/antlr/downloads/antlr-2.7.7.tar.gz.MD5 =================================================================== --- benchmarks/trunk/benchmarks/antlr/downloads/antlr-2.7.7.tar.gz.MD5 (rev 0) +++ benchmarks/trunk/benchmarks/antlr/downloads/antlr-2.7.7.tar.gz.MD5 2008-07-26 01:23:30 UTC (rev 379) @@ -0,0 +1 @@ +01cc9a2a454dd33dcd8c856ec89af090 Copied: benchmarks/trunk/benchmarks/antlr/src/Antlr.java (from rev 378, benchmarks/trunk/benchmarks/bmsrc/dacapo/antlr/Main.java) =================================================================== --- benchmarks/trunk/benchmarks/antlr/src/Antlr.java (rev 0) +++ benchmarks/trunk/benchmarks/antlr/src/Antlr.java 2008-07-26 01:23:30 UTC (rev 379) @@ -0,0 +1,16 @@ +/** + * Stub class which exists <b>only</b> to facilitate whole program + * static analysis on a per-benchmark basis. See also the "split-deps" + * ant build target, which is also provided to enable whole program + * static analysis. + * + * @author Eric Bodden + * @date $Date: 2006-10-03 17:24:11 +1000 (Tue, 03 Oct 2006) $ + * @id $Id: Main.java 137 2006-10-03 07:24:11Z rgarner $ + */ +public class Antlr { + public static void main(String args[]) throws Exception { + // create dummy harness and invoke with dummy arguments + (new org.dacapo.harness.Antlr(null, null)).run(null, ""); + } +} Copied: benchmarks/trunk/benchmarks/antlr/src/org/dacapo/harness/Antlr.java (from rev 378, benchmarks/trunk/benchmarks/bmsrc/dacapo/antlr/AntlrHarness.java) =================================================================== --- benchmarks/trunk/benchmarks/antlr/src/org/dacapo/harness/Antlr.java (rev 0) +++ benchmarks/trunk/benchmarks/antlr/src/org/dacapo/harness/Antlr.java 2008-07-26 01:23:30 UTC (rev 379) @@ -0,0 +1,85 @@ +package org.dacapo.harness; + +import java.io.File; +import java.util.Vector; + +import org.dacapo.harness.Benchmark; +import org.dacapo.parser.Config; + +/** + * Benchmark harness for the Antlr benchmark + * + * @author Robin Garner + * @author Steve Blackburn + * @date $Date$ + * @id $Id$ + * + */ +public class Antlr extends Benchmark { + + private String[] args; + private int firstGrammarIndex; + private int iterations; + private String[] antlrToolArgs; + + public Antlr(Config config, File scratch) throws Exception { + super(config,scratch); + Class<?> clazz = Class.forName("antlr.Tool", true, loader); + this.method = clazz.getMethod("main", new Class[] { String[].class} ); + + } + + protected void prepare() throws Exception { + super.prepare(); + copyFileTo(new File(scratch,"antlr/CommonTokenTypes.txt"),scratch); + } + + + + @Override + public void prepare(String size) throws Exception { + super.prepare(size); + String[] args = preprocessArgs(size); + firstGrammarIndex = 0; + iterations = 1; + Vector<String> v = new Vector<String>(args.length); + for (int i=0; i < args.length; i++) { + if (args[i].equals("-grammars")) { + firstGrammarIndex = i+1; + antlrToolArgs = new String[v.size()+1]; + for (int j=0; j < v.size(); j++) { + antlrToolArgs[j] = (String)v.elementAt(j); + } + break; + } else if (args[i].equals("-iterations")) { + iterations = Integer.parseInt(args[++i]); + } else { + v.addElement(args[i]); + } + } + this.args = args; + } + + /** + * After each iteration, delete the output files + */ + public void postIteration(String size) throws Exception { + super.postIteration(size); + if (!isPreserve()) + deleteTree(new File(scratch,"antlr/output")); + } + + public void iterate(String size) throws Exception { + for (int iteration=0; iteration < iterations; iteration++) { + for (int iGrammar=firstGrammarIndex; + iGrammar < args.length; + iGrammar++) { + String grammarFile = (new File(scratch,args[iGrammar])).getPath(); + antlrToolArgs[antlrToolArgs.length-1] = grammarFile; + System.out.println(args[iGrammar]); + + method.invoke(null, new Object[] {antlrToolArgs}); + } + } + } +} Modified: benchmarks/trunk/benchmarks/batik/batik.cnf =================================================================== --- benchmarks/trunk/benchmarks/batik/batik.cnf 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/batik/batik.cnf 2008-07-26 01:23:30 UTC (rev 379) @@ -1,5 +1,5 @@ benchmark batik - class dacapo.batik.BatikHarness + class org.dacapo.harness.Batik thread-model single jar "batik-all.jar" libs "xml-apis-ext.jar","xml-apis.jar", "crimson-1.1.3.jar", "xerces_2_5_0.jar", "xalan-2.6.0.jar"; Modified: benchmarks/trunk/benchmarks/batik/build.xml =================================================================== --- benchmarks/trunk/benchmarks/batik/build.xml 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/batik/build.xml 2008-07-26 01:23:30 UTC (rev 379) @@ -12,23 +12,26 @@ <property name="batik-top" value="${bm-build-dir}/batik-${batik.major.version}"/> - <target name="bm-build" depends="bm-unzip"> + <target name="unpack" depends="unzip"/> + + <target name="bm-build"> <ant antfile="build.xml" dir="${batik-top}" target="all-jar" inheritall="false"> <property name="debug" value="on"/> </ant> </target> - <target name="bm-jar"> - <copy file="${batik-top}/batik-${batik.major.version}/lib/batik-all.jar" todir="${jars}"/> - <copy file="${batik-top}/lib/build/crimson-1.1.3.jar" todir="${jars}"/> - <copy file="${batik-top}/lib/xalan-2.6.0.jar" todir="${jars}"/> - <copy file="${batik-top}/lib/xerces_2_5_0.jar" todir="${jars}"/> - <copy file="${batik-top}/lib/xml-apis.jar" todir="${jars}"/> - <copy file="${batik-top}/lib/xml-apis-ext.jar" todir="${jars}"/> - - <!-- copy dependencies into build.deps directory --> - <copy file="${batik-top}/lib/js.jar" todir="${build.deps}"/> - <copy file="${batik-top}/lib/pdf-transcoder.jar" todir="${build.deps}"/> + <target name="jar" depends="deps"> + <copy file="${batik-top}/batik-${batik.major.version}/lib/batik-all.jar" todir="${bm-jars}"/> + <copy file="${batik-top}/lib/build/crimson-1.1.3.jar" todir="${bm-jars}"/> + <copy file="${batik-top}/lib/xalan-2.6.0.jar" todir="${bm-jars}"/> + <copy file="${batik-top}/lib/xerces_2_5_0.jar" todir="${bm-jars}"/> + <copy file="${batik-top}/lib/xml-apis.jar" todir="${bm-jars}"/> + <copy file="${batik-top}/lib/xml-apis-ext.jar" todir="${bm-jars}"/> </target> + + <target name="deps"> + <copy file="${batik-top}/lib/js.jar" todir="${bm-deps-output-dir}"/> + <copy file="${batik-top}/lib/pdf-transcoder.jar" todir="${bm-deps-output-dir}"/> + </target> </project> Added: benchmarks/trunk/benchmarks/batik/downloads/batik-src-1.7beta1.zip.MD5 =================================================================== --- benchmarks/trunk/benchmarks/batik/downloads/batik-src-1.7beta1.zip.MD5 (rev 0) +++ benchmarks/trunk/benchmarks/batik/downloads/batik-src-1.7beta1.zip.MD5 2008-07-26 01:23:30 UTC (rev 379) @@ -0,0 +1 @@ +fb1f6a7e996d44e417398e2f5067658b Copied: benchmarks/trunk/benchmarks/batik/src/Batik.java (from rev 378, benchmarks/trunk/benchmarks/bmsrc/dacapo/batik/Main.java) =================================================================== --- benchmarks/trunk/benchmarks/batik/src/Batik.java (rev 0) +++ benchmarks/trunk/benchmarks/batik/src/Batik.java 2008-07-26 01:23:30 UTC (rev 379) @@ -0,0 +1,16 @@ +/** + * Stub class which exists <b>only</b> to facilitate whole program + * static analysis on a per-benchmark basis. See also the "split-deps" + * ant build target, which is also provided to enable whole program + * static analysis. + * + * @author Eric Bodden + * @date $Date: 2006-10-03 17:24:11 +1000 (Tue, 03 Oct 2006) $ + * @id $Id: Main.java 137 2006-10-03 07:24:11Z rgarner $ + */ +public class Batik { + public static void main(String args[]) throws Exception { + // create dummy harness and invoke with dummy arguments + (new org.dacapo.harness.Batik(null, null)).run(null, ""); + } +} Copied: benchmarks/trunk/benchmarks/batik/src/org/dacapo/harness/Batik.java (from rev 378, benchmarks/trunk/benchmarks/bmsrc/dacapo/batik/BatikHarness.java) =================================================================== --- benchmarks/trunk/benchmarks/batik/src/org/dacapo/harness/Batik.java (rev 0) +++ benchmarks/trunk/benchmarks/batik/src/org/dacapo/harness/Batik.java 2008-07-26 01:23:30 UTC (rev 379) @@ -0,0 +1,55 @@ +package org.dacapo.harness; + +import java.io.File; +import java.lang.reflect.Constructor; +import java.util.Vector; + +import org.dacapo.harness.Benchmark; +import org.dacapo.parser.Config; + +public class Batik extends Benchmark { + + private String[] args; + private final Constructor<?> constructor; + + public Batik(Config config, File scratch) throws Exception { + super(config, scratch); + Class<?> clazz = Class.forName("org.apache.batik.apps.rasterizer.Main", true, loader); + this.method = clazz.getMethod("execute"); + this.constructor = clazz.getConstructor(String[].class); + } + + + @Override + protected void prepare(String size) throws Exception { + super.prepare(size); + String[] args = preprocessArgs(size); + Vector<String> newArgs = new Vector<String>(args.length+2); + for (int i=0; i < args.length; i++) { + if (args[i].charAt(0) == '-') { + if (args[i].equals("-m") || args[i].equals("-d")) { + newArgs.add(args[i]); + newArgs.add(args[++i]); + } else + newArgs.add(args[i]); + } else + newArgs.add((new File(scratch,args[i])).getPath()); + } + String[] newArgStrings = (String[])newArgs.toArray(new String[0]); + if (isVerbose()) { + for (int i=0; i < newArgStrings.length; i++) + System.out.print(newArgStrings[i]+" "); + System.out.println(); + } + this.args = newArgStrings; + } + + + /** + * Args is a list of file names relative to the scratch directory + */ + public void iterate(String size) throws Exception { + Object object = constructor.newInstance((Object)args); + method.invoke(object); + } +} Modified: benchmarks/trunk/benchmarks/bloat/bloat.cnf =================================================================== --- benchmarks/trunk/benchmarks/bloat/bloat.cnf 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/bloat/bloat.cnf 2008-07-26 01:23:30 UTC (rev 379) @@ -1,5 +1,5 @@ benchmark bloat - class dacapo.bloat.BloatHarness + class org.dacapo.harness.Bloat thread-model single jar "bloat.jar"; Modified: benchmarks/trunk/benchmarks/bloat/build.xml =================================================================== --- benchmarks/trunk/benchmarks/bloat/build.xml 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/bloat/build.xml 2008-07-26 01:23:30 UTC (rev 379) @@ -1,5 +1,6 @@ <project name="bloat" default="all" basedir=".."> <description>DaCapo bloat benchmark</description> + <property file="ant/local.properties"/> <property file="ant/dacapo.properties"/> <property name="bm-name" value="bloat"/> @@ -9,7 +10,9 @@ <import file="../common.xml"/> - <target name="bm-build" depends="bm-unzip, bm-patch"> + <target name="unpack" depends="unzip, patch"/> + + <target name="bm-build"> <condition property="jdk.home" value="${java.home}" else="${java.home}/.."> <not><contains string="${java.home}" substring="/jre"/></not> </condition> @@ -18,8 +21,8 @@ </exec> </target> - <target name="bm-jar"> - <jar jarfile="${jars}/${bm-name}.jar" + <target name="jar"> + <jar jarfile="${bm-jars}/${bm-name}.jar" basedir="${bm-build-dir}/src" includes="**/*.class" excludes="${bm-build-dir}/resources/**/CVS"/> Added: benchmarks/trunk/benchmarks/bloat/downloads/bloat-1.0.src.jar.MD5 =================================================================== --- benchmarks/trunk/benchmarks/bloat/downloads/bloat-1.0.src.jar.MD5 (rev 0) +++ benchmarks/trunk/benchmarks/bloat/downloads/bloat-1.0.src.jar.MD5 2008-07-26 01:23:30 UTC (rev 379) @@ -0,0 +1 @@ +2eae6b587ee3a12a4cd474c623377d26 Copied: benchmarks/trunk/benchmarks/bloat/src/Bloat.java (from rev 378, benchmarks/trunk/benchmarks/bmsrc/dacapo/bloat/Main.java) =================================================================== --- benchmarks/trunk/benchmarks/bloat/src/Bloat.java (rev 0) +++ benchmarks/trunk/benchmarks/bloat/src/Bloat.java 2008-07-26 01:23:30 UTC (rev 379) @@ -0,0 +1,16 @@ +/** + * Stub class which exists <b>only</b> to facilitate whole program + * static analysis on a per-benchmark basis. See also the "split-deps" + * ant build target, which is also provided to enable whole program + * static analysis. + * + * @author Eric Bodden + * @date $Date: 2006-10-03 17:24:11 +1000 (Tue, 03 Oct 2006) $ + * @id $Id: Main.java 137 2006-10-03 07:24:11Z rgarner $ + */ +public class Bloat { + public static void main(String args[]) throws Exception { + // create dummy harness and invoke with dummy arguments + (new org.dacapo.harness.Bloat(null, null)).run(null, ""); + } +} Copied: benchmarks/trunk/benchmarks/bloat/src/org/dacapo/harness/Bloat.java (from rev 378, benchmarks/trunk/benchmarks/bmsrc/dacapo/bloat/BloatHarness.java) =================================================================== --- benchmarks/trunk/benchmarks/bloat/src/org/dacapo/harness/Bloat.java (rev 0) +++ benchmarks/trunk/benchmarks/bloat/src/org/dacapo/harness/Bloat.java 2008-07-26 01:23:30 UTC (rev 379) @@ -0,0 +1,27 @@ +package org.dacapo.harness; + +import java.io.File; + +import org.dacapo.harness.Benchmark; +import org.dacapo.parser.Config; + +public class Bloat extends Benchmark { + + public Bloat(Config config, File scratch) throws Exception { + super(config, scratch); + Class<?> clazz = Class.forName("EDU.purdue.cs.bloat.optimize.Main", true, loader); + this.method = clazz.getMethod("main", String[].class); + } + + public void prepare() throws Exception { + // do nothing + } + + public void cleanup(){ + // do nothing + } + + public void iterate(String size) throws Exception { + method.invoke(null, (Object) preprocessArgs(size)); + } +} Deleted: benchmarks/trunk/benchmarks/bmsrc/dacapo/PseudoJDBCBench.java =================================================================== --- benchmarks/trunk/benchmarks/bmsrc/dacapo/PseudoJDBCBench.java 2008-07-23 11:55:26 UTC (rev 378) +++ benchmarks/trunk/benchmarks/bmsrc/dacapo/PseudoJDBCBench.java 2008-07-26 01:23:30 UTC (rev 379) @@ -1,1079 +0,0 @@ -/* Copyright (c) 2001-2002, The HSQL Development Group - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * Neither the name of the HSQL Development Group nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG, - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -package dacapo; - -/* - * April 2006, Robin Garner, ANU - * - * Modified slightly for dacapo benchmarks 1.0 to make output suitable - * for validation. - * - * Allow command-line selection of dynamic vs prepared, and commit vs autocommit - */ - -//16 December 2003: PseudoJDBCBench -//a modified version of JDBCBench, does not trigger JikesRVM 2.3.1 bug -//Darko Stefanovic <da...@cs...> - -//nbazin@users - enhancements to the original code -/* - * This is a sample implementation of the Transaction Processing Performance - * Council Benchmark B coded in Java and ANSI SQL2. - * - * This version is using one connection per thread to parallellize - * server operations. - * @author Mark Matthews (ma...@my...) - */ -import java.sql.*; -import java.util.*; -import java.io.*; - -public class PseudoJDBCBench { - - enum Stmt { PREPARED, DYNAMIC } - enum Transaction { COMMIT, AUTOCOMMIT } - - /* tpc bm b scaling rules */ - public static int tps = 1; /* the tps scaling factor: here it is 1 */ - public static int nbranches = 1; /* number of branches in 1 tps db */ - public static int ntellers = 10; /* number of tellers in 1 tps db */ - public static int naccounts = 10000; /* number of accounts in 1 tps db */ - public static int nhistory = 864000; /* number of history recs in 1 tps db */ - public final static int TELLER = 0; - public final static int BRANCH = 1; - public final static int ACCOUNT = 2; - int failed_transactions = 0; - int transaction_count = 0; - static int n_clients = 10; - static int n_txn_per_client = 10; - static int extra_txn = 0; // Some clients perform 1 more transaction - long start_time = 0; - static boolean transactions = true; - static boolean prepared_stmt = false; - static String tableExtension = ""; - static String createExtension = ""; - static String ShutdownCommand = ""; - static PrintStream TabFile = null; - static boolean verbose = false; - static Set<Stmt> statementTypes = EnumSet.allOf(Stmt.class); - static Set<Transaction> transactionTypes = EnumSet.allOf(Transaction.class); - static boolean do_transactions = true; - MemoryWatcherThread MemoryWatcher; - - /* Debugging - number of clients currently active */ - volatile static int runningClients = 0; - final static boolean debug = false; - - /* main program, creates a 1-tps database: i.e. 1 branch, 10 tellers,... - * runs one TPC BM B transaction - * example command line: - * -driver org.hsqldb.jdbcDriver -url jdbc:hsqldb:/hsql/test33 -user sa -clients 20 - */ - public static void main(String[] Args) { - //DS. Sept. 2004: - String DriverName = ""; - String DBUrl = ""; - String DBUser = ""; - String DBPassword = ""; - boolean initialize_dataset = false; - int txn_per_client = -1; // Exactly one of these can be - int txn_all_clients = -1; // specified in the command-line options - - for (int i = 0; i < Args.length; i++) { - if (Args[i].equals("-clients")) { - if (i + 1 < Args.length) { - i++; - - n_clients = Integer.parseInt(Args[i]); - } - } else if (Args[i].equals("-driver")) { - if (i + 1 < Args.length) { - i++; - - DriverName = Args[i]; - - if (DriverName.equals( - "org.enhydra.instantdb.jdbc.idbDriver")) { - ShutdownCommand = "SHUTDOWN"; - } - - if (DriverName.equals( - "com.borland.datastore.jdbc.DataStoreDriver")) {} - - if (DriverName.equals("com.mckoi.JDBCDriver")) { - ShutdownCommand = "SHUTDOWN"; - } - - if (DriverName.equals("org.hsqldb.jdbcDriver")) { - //DS, 16 December 2003: commented out this line to - // disable CACHED - //tableExtension = "CREATE CACHED TABLE "; - ShutdownCommand = "SHUTDOWN COMPACT"; - } - } - } else if (Args[i].equals("-url")) { - if (i + 1 < Args.length) { - i++; - - DBUrl = Args[i]; - } - } else if (Args[i].equals("-user")) { - if (i + 1 < Args.length) { - i++; - - DBUser = Args[i]; - } - } else if (Args[i].equals("-tabfile")) { - if (i + 1 < Args.length) { - i++; - - try { - FileOutputStream File = new FileOutputStream(Args[i]); - - TabFile = new PrintStream(File); - } catch (Exception e) { - TabFile = null; - } - } - } else if (Args[i].equals("-password")) { - if (i + 1 < Args.length) { - i++; - - DBPassword = Args[i]; - } - } else if (Args[i].equals("-tpc")) { - if (i + 1 < Args.length) { - i++; - - txn_per_client = Integer.parseInt(Args[i]); - } - } else if (Args[i].equals("-total_trans")) { - if (i + 1 < Args.length) { - i++; - - txn_all_clients = Integer.parseInt(Args[i]); - } - } else if (Args[i].equals("-init")) { - initialize_dataset = true; - } else if (Args[i].equals("-tps")) { - if (i + 1 < Args.length) { - i++; - - tps = Integer.parseInt(Args[i]); - } - } else if (Args[i].equals("-noPrepared")) { - statementTypes.remove(Stmt.PREPARED); - } else if (Args[i].equals("-noDynamic")) { - statementTypes.remove(Stmt.DYNAMIC); - } else if (Args[i].equals("-noCommit")) { - transactionTypes.remove(Transaction.COMMIT); - } else if (Args[i].equals("-noAutoCommit")) { - transactionTypes.remove(Transaction.AUTOCOMMIT); - } else if (Args[i].equals("-v")) { - verbose = true; - } - } - - /* - * Set the number of transactions per client. The command line can give a - * fixed #transactions per client, or a fixed total, divided equally among the - * threads. - */ - if (txn_all_clients >= 0 && txn_per_client >= 0) { - System.err.println("Cannot specify -tpc and -total_trans"); - System.exit(1); - } else if (txn_all_clients >= 0) { - n_txn_per_client = txn_all_clients / n_clients; - extra_txn = txn_all_clients - (n_txn_per_client * n_clients); - } else if (txn_per_client >= 0) { - n_txn_per_client = txn_per_client; - } else { - // Use the static default tx/client - } - - if (DriverName.length() == 0 || DBUrl.length() == 0) { - System.out.println( - "usage: java JDBCBench -driver [driver_class_name] -url [url_to_db] -user [username] -password [password] [-v] [-init] [-tpc n] [-clients]"); - System.out.println(); - System.out.println("-v verbose error messages"); - System.out.println("-init initialize the tables"); - System.out.println("-tpc transactions per client"); - System.out.println("-clients number of simultaneous clients"); - System.exit(-1); - } - - System.out.println( - "*********************************************************"); - System.out.println( - "* PseudoJDBCBench v1.1 *"); - System.out.println( - "*********************************************************"); - System.out.println(); - System.out.println("Scale factor value: " + tps); - System.out.println("#NOVALIDATE# Number of clients: " + n_clients); - System.out.println("#NOVALIDATE# Number of transactions per client: " - + n_txn_per_client); - System.out.println(); - - try { - Class.forName(DriverName); - - new PseudoJDBCBench(DBUrl, DBUser, DBPassword, - initialize_dataset); - } catch (Exception E) { - System.out.println(E.getMessage()); - E.printStackTrace(); - } - } - - public PseudoJDBCBench(String url, String user, String password, boolean init) { - //DS. Sept. 2004: - - try { - if (init) { - //System.out.println("Start: " - // + (new java.util.Date()).toString()); - System.out.print("Initializing dataset..."); - createDatabase(url, user, password); - System.out.println("done.\n"); - //System.out.println("Complete: " - // + (new java.util.Date()).toString()); - } - } catch (Exception E) { - System.out.println(E.getMessage()); - E.printStackTrace(); - } - - if (n_txn_per_client > 0) { - try { - System.out.println("* Starting Benchmark Run *"); - MemoryWatcher = new MemoryWatcherThread(); - MemoryWatcher.start(); - if (transactionTypes.contains(Transaction.AUTOCOMMIT) && statementTypes.contains(Stmt.DYNAMIC)) - executeTransactions(url, user, password, false, false); - if (transactionTypes.contains(Transaction.COMMIT) && statementTypes.contains(Stmt.DYNAMIC)) - executeTransactions(url, user, password, true, false); - if (transactionTypes.contains(Transaction.AUTOCOMMIT) && statementTypes.contains(Stmt.PREPARED)) - executeTransactions(url, user, password, false, true); - if (transactionTypes.contains(Transaction.COMMIT) && statementTypes.contains(Stmt.PREPARED)) - executeTransactions(url, user, password, true, true); - } catch (Exception E) { - System.out.println(E.getMessage()); - E.printStackTrace(); - } finally { - MemoryWatcher.end(); - - try { - MemoryWatcher.join(); - - if (ShutdownCommand.length() > 0) { - Connection C = connect(url, user, password); - ; - Statement stmt = C.createStatement(); - - stmt.execute(ShutdownCommand); - stmt.close(); - connectClose(C); - } - - if (TabFile != null) { - TabFile.close(); - } - } catch (Exception E1) { - E1.printStackTrace(); - } - //DS. Disable System.exit(0) so that benchmark can be invoked twice from harness. - //System.out.println ("-" + " PseudoJDBCBench.PseudoJDBCBench " + "calling System.exit(0)"); - //System.exit(0); - } - } - } - - private void executeTransactions(String url, String user, String password, - boolean tx, boolean prepared) throws InterruptedException { - Vector<Thread> vClient = new Vector<Thread>(); - Thread Client; - Enumeration<Thread> e; - transactions = tx; - prepared_stmt = prepared; - start_time = System.currentTimeMillis(); - for (int i = 0; i < n_clients; i++) { - Client = new ClientThread(n_txn_per_client + (i < extra_txn ? 1 : 0), url, user, password); - - Client.start(); - vClient.addElement(Client); - } - /* - ** Barrier to complete this test session - */ - e = vClient.elements(); - while (e.hasMoreElements()) { - Client = e.nextElement(); - - if (debug) - System.out.println("Active client threads: " + runningClients); - Client.join(); - } - if (debug) - System.out.println("All clients exited"); - vClient.removeAllElements(); - reportDone(); - } - - public void reportDone() { - - long end_time = System.currentTimeMillis(); - double completion_time = ((double) end_time - (double) start_time) - / 1000; - - if (TabFile != null) { - TabFile.print(tps + ";" + n_clients + ";" + n_txn_per_client - + ";"); - } - - System.out.println("\n* Benchmark Report *"); - System.out.print("* Featuring "); - - if (prepared_stmt) { - System.out.print("<prepared statements> "); - - if (TabFile != null) { - TabFile.print("<prepared statements>;"); - } - } else { - System.out.print("<direct queries> "); - - if (TabFile != null) { - TabFile.print("<direct queries>;"); - } - } - - if (transactions) { - System.out.print("<transactions> "); - - if (TabFile != null) { - TabFile.print("<transactions>;"); - } - } else { - System.out.print("<auto-commit> "); - - if (TabFile != null) { - TabFile.print("<auto-commit>;"); - } - } - - System.out.println("\n--------------------"); - //System.out.println("Time to execute " + transaction_count - // + " transactions: " + completion_time - // + " seconds."); - //System.out.println("Max/Min memory usage: " + MemoryWatcher.max - // + " / " + MemoryWatcher.min + " kb"); - System.out.println(failed_transactions + " / " + transaction_count - + " failed to complete."); - - double rate = (transaction_count - failed_transactions) - / completion_time; - - //System.out.println("Transaction rate: " + rate + " txn/sec."); - - if (TabFile != null) { - TabFile.print(MemoryWatcher.max + ";" + MemoryWatcher.min + ";" - + failed_transactions + ";" + rate + "\n"); - } - - transaction_count = 0; - failed_transactions = 0; - - MemoryWatcher.reset(); - } - - public synchronized void incrementTransactionCount() { - transaction_count++; - } - - public synchronized void incrementFailedTransactionCount() { - failed_transactions++; - } - - void createDatabase(String url, String user, - String password) throws Exception { - - Connection Conn = connect(url, user, password); - ; - String s = Conn.getMetaData().getDatabaseProductName(); - - System.out.println("DBMS: " + s); - - transactions = true; - - if (transactions) { - try { - Conn.setAutoCommit(false); - System.out.println("In transaction mode"); - } catch (SQLException Etrxn) { - transactions = false; - } - } - - try { - int accountsnb = 0; - Statement Stmt = Conn.createStatement(); - String Query; - - Query = "SELECT count(*) "; - Query += "FROM accounts"; - - ResultSet RS = Stmt.executeQuery(Query); - - Stmt.clearWarnings(); - - while (RS.next()) { - accountsnb = RS.getInt(1); - } - - if (transactions) { - Conn.commit(); - } - - Stmt.close(); - - if (accountsnb == (naccounts * tps)) { - System.out.println("Already initialized for "+naccounts+"*"+tps); - connectClose(Conn); - - return; - } - } catch (Exception E) {} - - try { - Statement Stmt = Conn.createStatement(); - String Query; - - Query = "DROP TABLE history"; - - try { Stmt.execute(Query); } catch (Exception E) {} - Stmt.clearWarnings(); - - Query = "DROP TABLE accounts"; - - try { Stmt.execute(Query); } catch (Exception E) {} - Stmt.clearWarnings(); - - Query = "DROP TABLE tellers"; - - try { Stmt.execute(Query); } catch (Exception E) {} - Stmt.clearWarnings(); - - Query = "DROP TABLE branches"; - - try { Stmt.execute(Query); } catch (Exception E) {} - Stmt.clearWarnings(); - - if (transactions) { - Conn.commit(); - } - - Stmt.close(); - } catch (Exception E) {} - - - try { - Statement Stmt = Conn.createStatement(); - String Query; - - if (tableExtension.length() > 0) { - Query = tableExtension + " branches ("; - } else { - Query = "CREATE TABLE branches ("; - } - - Query += "Bid INTEGER NOT NULL PRIMARY KEY, "; - Query += "Bbalance INTEGER,"; - Query += "filler CHAR(88))"; /* pad to 100 bytes */ - - if (createExtension.length() > 0) { - Query += createExtension; - } - - Stmt.execute(Query); - Stmt.clearWarnings(); - - if (tableExtension.length() > 0) { - Query = tableExtension + " tellers ("; - } else { - Query = "CRE... [truncated message content] |