You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2005/04/27 00:03:20 UTC
cvs commit: db-ojb/src/test/org/apache/ojb/otm PerformanceTest.java
arminw 2005/04/26 15:03:19
Modified: src/doc/forrest/src/documentation/content/xdocs/docu/guides
Tag: OJB_1_0_RELEASE performance.xml
src/test/org/apache/ojb/broker Tag: OJB_1_0_RELEASE
MultipleDBTest.java TransactionDemarcationTest.java
src/test/org/apache/ojb Tag: OJB_1_0_RELEASE
repository_junit.xml
. Tag: OJB_1_0_RELEASE build.xml release-notes.txt
Added: src/test/org/apache/ojb/compare Tag: OJB_1_0_RELEASE
OJBPerfTest.java PerformanceArticle.java
PerformanceBaseTest.java
PerformanceJdbcFailoverTest.java
PerformanceJdbcTest.java PerformanceODMGTest.java
PerformanceOTMTest.java PerformancePBTest.java
Removed: src/test/org/apache/ojb/broker Tag: OJB_1_0_RELEASE
OJBPerfTest.java PerformanceArticle.java
PerformanceJdbcFailoverTest.java
PerformanceJdbcReferenceTest.java
PerformanceTest.java PerformanceTest2.java
PerformanceTest3.java
src/test/org/apache/ojb/odmg Tag: OJB_1_0_RELEASE
PerformanceTest.java
src/test/org/apache/ojb/otm Tag: OJB_1_0_RELEASE
PerformanceTest.java
Log:
remove outdated performance test
introduce new package 'compare' to bunch all performance comparision tests
Revision Changes Path
No revision
No revision
1.1.2.2 +13 -15 db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml
Index: performance.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- performance.xml 25 Apr 2005 17:12:06 -0000 1.1.2.1
+++ performance.xml 26 Apr 2005 22:03:14 -0000 1.1.2.2
@@ -73,10 +73,10 @@
<title>The Performance Test Suite</title>
<p>
The
- <em>OJB Performance Test Suite</em> allows to compare OJB
+ <em>OJB Performance Test Suite</em> allows to compare all supported OJB API's
against
- <link href="#compares-to-native">native JDBC programming</link>
- against your RDBMS of choice and run OJB in a
+ <link href="#compares-to-native">native single-threaded JDBC programming</link>
+ against your RDBMS of choice and run OJB API's in a
<link href="#multithreaded-performance">virtual multithreaded
environment</link>. Further on it is possible to
<link href="#compares-to-other">compare OJB against any O/R mapping tool</link> using a simple
@@ -94,13 +94,10 @@
</p>
<ul>
<li>
- <code>perf-test</code> multithreaded performance/stress test of PB/OTM/ODMG api against native JDBC
+ <code>perf-test</code> multi-threaded performance/stress test of PB/OTM/ODMG api against native JDBC
</li>
<li>
- <code>performance</code> older single threaded test, OJB API implementations (PB, ODMG) against native JDBC
- </li>
- <li>[
- <code>performance3</code> multithreaded test against two different databases - developers test]
+ <code>performance</code> single-threaded test, OJB API implementations (PB, ODMG) against native JDBC
</li>
</ul>
<p>
@@ -323,7 +320,8 @@
<source><![CDATA[
ant perf-test]]></source>
<p>
- A typical output of this test looks like (OJB against hsql server, 2-tier, 100 MBit network):
+ A typical output of this test looks like (OJB against in-memory hsql, this
+ shows the overhead caused by the O/R layer):
</p>
<source><![CDATA[
[ojb] ================================================================
@@ -366,10 +364,10 @@
<classpath refid="runtime-classpath"/>
<!-- comma separated list of the PerfTest implementations -->
<arg value=
- "org.apache.ojb.broker.OJBPerfTest$JdbcPerfTest,
- org.apache.ojb.broker.OJBPerfTest$PBPerfTest,
- org.apache.ojb.broker.OJBPerfTest$ODMGPerfTest,
- org.apache.ojb.broker.OJBPerfTest$OTMPerfTest"
+ "org.apache.ojb.compare.OJBPerfTest$JdbcPerfTest,
+ org.apache.ojb.compare.OJBPerfTest$PBPerfTest,
+ org.apache.ojb.compare.OJBPerfTest$ODMGPerfTest,
+ org.apache.ojb.compare.OJBPerfTest$OTMPerfTest"
/>
<arg value="6"/>
<!-- test loops, default was 6 -->
@@ -441,7 +439,7 @@
<p>
You can find a example implementation called
- <code>org.apache.ojb.broker.OJBPerfTest</code> in the test-sources directory
+ <code>org.apache.ojb.compare.OJBPerfTest</code> in the test-sources directory
under
<code>[db-ojb]/src/test</code> (when using source-distribution).
This implementation class is used to compare performance of the PB-API,
No revision
No revision
1.15.2.2 +14 -18 db-ojb/src/test/org/apache/ojb/broker/MultipleDBTest.java
Index: MultipleDBTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/MultipleDBTest.java,v
retrieving revision 1.15.2.1
retrieving revision 1.15.2.2
diff -u -r1.15.2.1 -r1.15.2.2
--- MultipleDBTest.java 27 Jul 2004 00:31:50 -0000 1.15.2.1
+++ MultipleDBTest.java 26 Apr 2005 22:03:15 -0000 1.15.2.2
@@ -177,7 +177,7 @@
*/
public void testInsertDeleteNoAutoSequence() throws Exception
{
- PerformanceArticle article = createArticleWithId(Integer.MAX_VALUE - 1001);
+ Article article = createArticleWithId(Integer.MAX_VALUE - 1001);
PBKey secKey = TestHelper.FAR_AWAY_KEY;
FarAwayClass fa = createFarAwayObjectWithId(Integer.MAX_VALUE - 1002);
@@ -206,9 +206,8 @@
defPB = PersistenceBrokerFactory.defaultPersistenceBroker();
defPB.clearCache();
- Object[] pks2 = {new Integer(article.getArticleId())};
- Identity oid2 = new Identity(PerformanceArticle.class, PerformanceArticle.class, pks2);
- PerformanceArticle article2 = (PerformanceArticle) defPB.getObjectByIdentity(oid2);
+ Identity oid2 = defPB.serviceIdentity().buildIdentity(Article.class, article.getArticleId());
+ Article article2 = (Article) defPB.getObjectByIdentity(oid2);
Assert.assertNotNull("Lookup for article in default DB failed", article2);
defPB.close();
@@ -230,7 +229,7 @@
*/
public void testInsertDeleteAutoSequenceClearCache() throws Exception
{
- PerformanceArticle article = createArticle();
+ Article article = createArticle();
PBKey secKey = TestHelper.FAR_AWAY_KEY;
FarAwayClass fa = createFarAwayObject();
@@ -259,9 +258,8 @@
defaultPB = PersistenceBrokerFactory.defaultPersistenceBroker();
defaultPB.clearCache();
- Object[] pks2 = {new Integer(article.getArticleId())};
- Identity oid2 = new Identity(PerformanceArticle.class, PerformanceArticle.class, pks2);
- PerformanceArticle article2 = (PerformanceArticle) defaultPB.getObjectByIdentity(oid2);
+ Identity oid2 = defaultPB.serviceIdentity().buildIdentity(Article.class, article.getArticleId());
+ Article article2 = (Article) defaultPB.getObjectByIdentity(oid2);
Assert.assertNotNull("Lookup for article in default DB failed", article2);
defaultPB.close();
@@ -285,7 +283,7 @@
*/
public void testInsertDeleteAutoSequence() throws Exception
{
- PerformanceArticle article = createArticle();
+ Article article = createArticle();
PBKey secKey = TestHelper.FAR_AWAY_KEY;
PersistenceBroker defaultPB = PersistenceBrokerFactory.defaultPersistenceBroker();
@@ -310,9 +308,8 @@
farAwayPB.close();
defaultPB = PersistenceBrokerFactory.defaultPersistenceBroker();
- Object[] pks2 = {new Integer(article.getArticleId())};
- Identity oid2 = new Identity(PerformanceArticle.class, PerformanceArticle.class, pks2);
- PerformanceArticle article2 = (PerformanceArticle) defaultPB.getObjectByIdentity(oid2);
+ Identity oid2 = defaultPB.serviceIdentity().buildIdentity(Article.class, article.getArticleId());
+ Article article2 = (Article) defaultPB.getObjectByIdentity(oid2);
Assert.assertNotNull("Lookup for article in default DB failed", article2);
defaultPB.close();
@@ -431,10 +428,10 @@
* @return the created PerformanceArticle object
* @param id the primary key value for the new object
*/
- private PerformanceArticle createArticleWithId(int id)
+ private Article createArticleWithId(int id)
{
- PerformanceArticle ret = createArticle();
- ret.setArticleId(id);
+ Article ret = createArticle();
+ ret.setArticleId(new Integer(id));
return ret;
}
@@ -459,14 +456,13 @@
* factory method that createa an PerformanceArticle
* @return the created PerformanceArticle object
*/
- private PerformanceArticle createArticle()
+ private Article createArticle()
{
- PerformanceArticle a = new PerformanceArticle();
+ Article a = new Article();
a.setArticleName("New Performance Article " + (++counter));
a.setMinimumStock(100);
a.setOrderedUnits(17);
a.setPrice(0.45);
- a.setProductGroupId(7);
a.setStock(234);
a.setSupplierId(4);
a.setUnit("bottle");
1.6.2.1 +9 -10 db-ojb/src/test/org/apache/ojb/broker/TransactionDemarcationTest.java
Index: TransactionDemarcationTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/TransactionDemarcationTest.java,v
retrieving revision 1.6
retrieving revision 1.6.2.1
diff -u -r1.6 -r1.6.2.1
--- TransactionDemarcationTest.java 31 May 2004 22:57:21 -0000 1.6
+++ TransactionDemarcationTest.java 26 Apr 2005 22:03:15 -0000 1.6.2.1
@@ -1,19 +1,19 @@
package org.apache.ojb.broker;
+import java.util.Iterator;
+
import org.apache.ojb.broker.query.Criteria;
import org.apache.ojb.broker.query.Query;
import org.apache.ojb.broker.query.QueryByCriteria;
import org.apache.ojb.junit.PBTestCase;
-import java.util.Iterator;
-
/**
*
* @author <a href="mailto:armin@codeAuLait.de">Armin Waibel</a>
*/
public class TransactionDemarcationTest extends PBTestCase
{
- private PerformanceArticle[] articleArr;
+ private Article[] articleArr;
private Person[] personArr;
private static final int COUNT = 20;
@@ -25,10 +25,10 @@
public void setUp() throws Exception
{
super.setUp();
- articleArr = new PerformanceArticle[COUNT];
+ articleArr = new Article[COUNT];
for (int i = 0; i < COUNT; i++)
{
- PerformanceArticle a = createArticle(i);
+ Article a = createArticle(i);
articleArr[i] = a;
}
@@ -125,7 +125,7 @@
public void testIterator() throws Exception
{
Criteria c = new Criteria();
- Query q = new QueryByCriteria(PerformanceArticle.class, c);
+ Query q = new QueryByCriteria(Article.class, c);
Iterator it = broker.getIteratorByQuery(q);
it.hasNext();
}
@@ -133,7 +133,7 @@
public int getArticleCount()
{
Criteria c = new Criteria();
- Query q = new QueryByCriteria(PerformanceArticle.class, c);
+ Query q = new QueryByCriteria(Article.class, c);
int count = 0;
count = broker.getCount(q);
return count;
@@ -148,14 +148,13 @@
return count;
}
- private PerformanceArticle createArticle(int counter)
+ private Article createArticle(int counter)
{
- PerformanceArticle a = new PerformanceArticle();
+ Article a = new Article();
a.setArticleName("New Performance Article " + counter);
a.setMinimumStock(100);
a.setOrderedUnits(17);
a.setPrice(0.45);
- a.setProductGroupId(7);
a.setStock(234);
a.setSupplierId(4);
a.setUnit("bottle");
No revision
No revision
1.1.2.1 +814 -0 db-ojb/src/test/org/apache/ojb/compare/Attic/OJBPerfTest.java
1.1.2.1 +228 -0 db-ojb/src/test/org/apache/ojb/compare/Attic/PerformanceArticle.java
1.1.2.1 +228 -0 db-ojb/src/test/org/apache/ojb/compare/Attic/PerformanceBaseTest.java
1.1.2.1 +676 -0 db-ojb/src/test/org/apache/ojb/compare/Attic/PerformanceJdbcFailoverTest.java
1.1.2.1 +356 -0 db-ojb/src/test/org/apache/ojb/compare/Attic/PerformanceJdbcTest.java
1.1.2.1 +187 -0 db-ojb/src/test/org/apache/ojb/compare/Attic/PerformanceODMGTest.java
1.1.2.1 +187 -0 db-ojb/src/test/org/apache/ojb/compare/Attic/PerformanceOTMTest.java
1.1.2.1 +159 -0 db-ojb/src/test/org/apache/ojb/compare/Attic/PerformancePBTest.java
No revision
No revision
1.112.2.13 +3 -3 db-ojb/src/test/org/apache/ojb/repository_junit.xml
Index: repository_junit.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/repository_junit.xml,v
retrieving revision 1.112.2.12
retrieving revision 1.112.2.13
diff -u -r1.112.2.12 -r1.112.2.13
--- repository_junit.xml 22 Apr 2005 16:42:22 -0000 1.112.2.12
+++ repository_junit.xml 26 Apr 2005 22:03:17 -0000 1.112.2.13
@@ -1175,9 +1175,9 @@
/>
</class-descriptor>
-<!-- Definitions for org.apache.ojb.broker.PerformanceArticle -->
+<!-- Definitions for org.apache.ojb.compare.PerformanceArticle -->
<class-descriptor
- class="org.apache.ojb.broker.PerformanceArticle"
+ class="org.apache.ojb.compare.PerformanceArticle"
table="Artikel"
>
<field-descriptor
No revision
No revision
1.144.2.24 +11 -48 db-ojb/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/db-ojb/build.xml,v
retrieving revision 1.144.2.23
retrieving revision 1.144.2.24
diff -u -r1.144.2.23 -r1.144.2.24
--- build.xml 22 Apr 2005 16:42:23 -0000 1.144.2.23
+++ build.xml 26 Apr 2005 22:03:18 -0000 1.144.2.24
@@ -1250,38 +1250,38 @@
<target name="performance" depends="prepare-repository, copy-testdb"
description="Performance benchmark, compare the PB-api/ODMG-api
with direct JDBC calls">
- <java fork="yes" classname="org.apache.ojb.broker.PerformanceTest"
+ <java fork="yes" classname="org.apache.ojb.compare.PerformancePBTest"
dir="${build.test}/ojb" taskname="ojb" failonerror="true" >
<classpath refid="runtime-classpath"/>
- <arg value="2500"/>
+ <arg value="1500"/>
<arg value="3"/>
<jvmarg value="-Xms128m"/>
<jvmarg value="-Xmx256m"/>
</java>
- <java fork="yes" classname="org.apache.ojb.broker.PerformanceJdbcReferenceTest"
+ <java fork="yes" classname="org.apache.ojb.compare.PerformanceJdbcTest"
dir="${build.test}/ojb" taskname="jdbc" failonerror="true" >
<classpath refid="runtime-classpath"/>
- <arg value="2500"/>
+ <arg value="1500"/>
<arg value="3"/>
<jvmarg value="-Xms128m"/>
<jvmarg value="-Xmx256m"/>
<!--jvmarg value="-Xrunhprof:cpu=times,file=perf.hprof.txt" /-->
</java>
- <java fork="yes" classname="org.apache.ojb.odmg.PerformanceTest"
+ <java fork="yes" classname="org.apache.ojb.compare.PerformanceODMGTest"
dir="${build.test}/ojb" taskname="odmg" failonerror="true" >
<classpath refid="runtime-classpath"/>
- <arg value="500"/>
+ <arg value="1500"/>
<arg value="3"/>
<jvmarg value="-Xms128m"/>
<jvmarg value="-Xmx256m"/>
</java>
- <java fork="yes" classname="org.apache.ojb.otm.PerformanceTest"
+ <java fork="yes" classname="org.apache.ojb.compare.PerformanceOTMTest"
dir="${build.test}/ojb" taskname="otm" failonerror="true" >
<classpath refid="runtime-classpath"/>
- <arg value="500"/>
+ <arg value="1500"/>
<arg value="3"/>
<jvmarg value="-Xms128m"/>
<jvmarg value="-Xmx256m"/>
@@ -1289,29 +1289,11 @@
</target>
<!-- ================================================================== -->
- <!-- Performance tests 2 / stress test -->
- <!-- ================================================================== -->
- <target name="performance2" depends="prepare-testdb"
- description="Performance benchmark and stress test for PB- and ODMG-api">
- <java fork="yes" classname="org.apache.ojb.broker.PerformanceTest2"
- dir="${build.test}/ojb" taskname="ojb" failonerror="true" >
- <classpath refid="runtime-classpath"/>
- <arg value="10"/> <!-- performed threads, default was 10 -->
- <arg value="2000"/> <!-- iterations per thread, default was 2000 -->
- <arg value="false"/> <!-- if 'false' we use autoincrement key generation, default false -->
- <arg value="7"/> <!-- 1 = PB-test, 2 = ODMG-test, 3 = Both, 4 = OTM-test, 7 = All three tests, default was 7 -->
- <arg value="3"/> <!-- Number of test loops, default was 3 -->
- <jvmarg value="-Xms128m"/>
- <jvmarg value="-Xmx256m"/>
- </java>
- </target>
-
- <!-- ================================================================== -->
<!-- failover tests -->
<!-- ================================================================== -->
<target name="failover"
description="db failover tests">
- <java fork="yes" classname="org.apache.ojb.broker.PerformanceJdbcFailoverTest"
+ <java fork="yes" classname="org.apache.ojb.compare.PerformanceJdbcFailoverTest"
dir="${build.test}/ojb" taskname="ojb" failonerror="true" >
<classpath refid="runtime-classpath"/>
<arg value="10000"/> <!-- number of operations per run-->
@@ -1334,7 +1316,7 @@
<classpath refid="runtime-classpath"/>
<!-- comma separated list of the PerfTest implementations -->
<arg value=
- "org.apache.ojb.broker.OJBPerfTest$JdbcPerfTest,org.apache.ojb.broker.OJBPerfTest$PBPerfTest,org.apache.ojb.broker.OJBPerfTest$ODMGPerfTest,org.apache.ojb.broker.OJBPerfTest$OTMPerfTest"
+ "org.apache.ojb.compare.OJBPerfTest$JdbcPerfTest,org.apache.ojb.compare.OJBPerfTest$PBPerfTest,org.apache.ojb.compare.OJBPerfTest$ODMGPerfTest,org.apache.ojb.compare.OJBPerfTest$OTMPerfTest"
/>
<arg value="6"/> <!-- test loops, default was 6 -->
<arg value="12"/> <!-- performed threads, default was 12 -->
@@ -1375,25 +1357,6 @@
</target>
<!-- ================================================================== -->
- <!-- Performance tests 3 / stress test multiple db -->
- <!-- ================================================================== -->
- <target name="performance3" depends="prepare-testdb"
- description="Stress test for PB- and ODMG-api using multiple
- databases">
- <java fork="yes" classname="org.apache.ojb.broker.PerformanceTest3"
- dir="${build.test}/ojb" taskname="ojb" failonerror="true" >
- <classpath refid="runtime-classpath"/>
- <arg value="5"/> <!-- performed threads, default was 5 -->
- <arg value="100"/> <!-- iterations per thread, default was 100 -->
- <arg value="false"/> <!-- if 'false' we use autoincrement key generation, default false -->
- <arg value="3"/> <!-- 1 = PB-test, 2 = ODMG-test, 3 = Both, default was 3 -->
- <arg value="2"/> <!-- Number of test loops, default was 3 -->
- <jvmarg value="-Xms128m"/>
- <jvmarg value="-Xmx256m"/>
- </java>
- </target>
-
- <!-- ================================================================== -->
<!-- Browse Demo Database -->
<!-- ================================================================== -->
<target name="browse-db" depends="init"
1.54.2.46 +11 -1 db-ojb/release-notes.txt
Index: release-notes.txt
===================================================================
RCS file: /home/cvs/db-ojb/release-notes.txt,v
retrieving revision 1.54.2.45
retrieving revision 1.54.2.46
diff -u -r1.54.2.45 -r1.54.2.46
--- release-notes.txt 26 Apr 2005 03:41:37 -0000 1.54.2.45
+++ release-notes.txt 26 Apr 2005 22:03:18 -0000 1.54.2.46
@@ -23,8 +23,18 @@
* [OJB-6] - Support for stored procedures returning ResultSet.
NOTES:
+* Internal OJB class configuration files are changed, don't forget to replace
+ these files on upgrade from older version (by default the internal used
+ classes are located in repository_internal.xml).
+* Improved performance comparison tests ('ant perf-test' and 'ant performance').
+ Now the tests more fair for registered API's
CHANGES:
+* Removed deprecated SequenceManager implementation SequenceManagerMySQLImpl
+* Remove unused method from SequenceManager interface
+* Internal used OJB_HL_SEQ table changed. Remove of deprecated column.
+ If the SequenceManagerHighLowImpl was used and problems occur after upgrade, please
+ drop and recreate this table without removed column
* Upgraded ANTLR to v2.7.5 (OQL and JDOQL parser classes have been re-generated)
* Upgraded commons-dbcp to v1.2.1
* Upgraded commons-pool to v1.2
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org