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 2003/02/07 21:06:17 UTC

cvs commit: db-ojb/xdocs performance.xml

arminw      2003/02/07 12:06:17

  Modified:    xdocs    performance.xml
  Log:
  update the documentation
  
  Revision  Changes    Path
  1.8       +71 -17    db-ojb/xdocs/performance.xml
  
  Index: performance.xml
  ===================================================================
  RCS file: /home/cvs/db-ojb/xdocs/performance.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- performance.xml	7 Feb 2003 10:58:35 -0000	1.7
  +++ performance.xml	7 Feb 2003 20:06:17 -0000	1.8
  @@ -103,12 +103,6 @@
   <br/>- Community support
   <br/>- The different licences of Open Source projects
   <br/>- etcetera ...
  -
  -
  -<font color="#ff0000"><i><b>
  -bla bla TODO
  -</b></i></font>
  -
   </p>
   
   </subsection>
  @@ -189,7 +183,7 @@
   supported API's (PB-api, ODMG-api, JDO-api) in a multithreaded environment.
   Running this test out of the box (a virgin OJB version) shouldn't cause any problems.
   To run the JDO-api test too, see <a href="tutorial4.html">JDO tutorial</a> and comment in
  -the test in target <code>perf-test</code> in <code>build.xml</code>.
  +the test in target <code>perf-test</code> in <code>build.xml</code> (<i>currently not implemented!</i>).
   </p>
   <p>
   Per default OJB use hsql as database, by changing the JdbcConnectionDescriptor
  @@ -208,7 +202,7 @@
   <source>
   [ojb] =================================================================
   [ojb]              OJB PERFORMANCE TEST SUMMARY
  -[ojb] 10 concurrent threads, handle 2000 articles per thread
  +[ojb] 10 concurrent threads, handle 2000 objects per thread
   [ojb]              - performance mode
   [ojb] =================================================================
   [ojb]           API  Test Period       Insert        Fetch       Delete
  @@ -234,6 +228,7 @@
   performance mode, <code>true</code> means run in stress mode
   (useful for developer to check stability).
   </p>
  +
   </subsection>
   
   
  @@ -241,32 +236,91 @@
   
   <subsection name="How OJB compares to other O/R mapping tools?" anchor="6">
   
  -<font color="#ff0000"><i><b>
  -TODO
  -</b></i></font>
  -
   <p>
   Many user ask this question and we don't know the answer. But OJB was
   shipped with a simple performance framework which allows a rudimentarily
  -comparision of the OJB with other (java-based) O/R mapping tools.
  +comparision of OJB with other (java-based) O/R mapping tools.
   <br/>
   Call <code>bin\build.bat perf-test-jar</code> or <code>bin/build.sh perf-test-jar</code>
  -to build the jar file contain all necessary classes.
  +to build the jar file contain all necessary classes to set up a test with an
  +arbitrary O/R mapper. After build the jar is in <code>/dist</code>.
  +</p>
  +<p>
  +<b>Steps to set up the test:</b>
  +<br/>
  +You could find a example implementation (test for the PB-/ODMG-api) called
  +<code>org.apache.ojb.broker.OJBPerfTest</code> in the test-sources directory.
  +<ul>
  +<li>Implement a class derived from <code>org.apache.ojb.performance.PerfTest</code></li>
  +<li>Implement a class derived from <code>org.apache.ojb.performance.PerfHandle</code></li>
  +<li>If the persistent objects of your mapping tool must be derived from a special base
  +class or must be implement a special interface write a class by implementing
  +the <code>org.apache.ojb.performance.PerfArticle</code> interface and override
  +<code>newPerfArticle()</code> in your PerfHandle implementation class.
  +<br/>
  +Otherwise the test use a default implementation of this interface.</li>
  +</ul>
  +That's it!
  +</p>
  +
  +<p>
  +<b>Run the test</b>
  +<br/>
  +You have two possibilities to run the test:
  +<br/>
  +<br/>
  +a) Integration in the OJB build script
  +<br/>
  +Add the full qualified class name of your PerfTest implementation class
  +to the <code>perf-test</code> target of the OJB <code>build.xml</code>
  +file, add all necessary jar files to <code>[db-ojb]/lib</code>. The working
  +directory of the test is <code>[db-ojb]/target/test/ojb</code>.
  +
  +<br/>
  +<br/>
  +b) Run PerfMain
  +<br/>
  +It's possible to run the test using <code>org.apache.ojb.performance.PerfMain</code>.
  +<source>
  +java -classpath CLASSPATH org.apache.ojb.performance.PerfMain
  +
  +[comma separated list of PerfTest implementation classes, no blanks!]
  +
  +[number of test loops]
  +
  +[number of threads]
  +
  +[number of insert/fetch/delete loops per thread]
  +
  +[boolean - run in stress mode if set true,
  +run in performance mode if set false, default false]
  +
  +For example:
  +java -classpath CLASSPATH my.A_PerfTest,my.B_PerfTest 3 10 2000 fale
  +</source>
  +
  +</p>
  +
  +<p>
  +<font color="#ff0000"><b>Please:</b></font>
  +<br/>Don't start flame wars by posting performance results to the
  +mailing lists made with this simple test. This test was created for
  +OJB QA and to give a clue how good or bad OJB performs. NOT to start
  +discussion like <i>XY is 12% faster then XZ</i>!!.
   </p>
  +
   </subsection>
   
   
   
   
  -<subsection name="Using OJB to write clean JDBC code" anchor="6">
  +<subsection name="Using OJB to write clean JDBC code" anchor="7">
   
   <font color="#ff0000"><i><b>
   TODO
   </b></i></font>
   
  -<p>
   
  -</p>
   </subsection>
   
   </section>