arminw      2005/04/25 10:12:07

  Modified:    src/doc/forrest/src/documentation/content/xdocs/docu/guides
                        Tag: OJB_1_0_RELEASE performance.xml platforms.xml
               src/doc/forrest/src/documentation/content/xdocs/docu/testing
                        Tag: OJB_1_0_RELEASE testsuite.xml
               src/doc/forrest/src/documentation/content/xdocs Tag:
                        OJB_1_0_RELEASE site.xml
  Log:
  update internal used table section, performance, test-suite
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.2.1   +247 -224  
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
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- performance.xml   20 Jun 2004 09:12:33 -0000      1.1
  +++ performance.xml   25 Apr 2005 17:12:06 -0000      1.1.2.1
  @@ -49,7 +49,10 @@
                   access by forming an additional software layer between 
business logic
                   and RDBMS. Introducing new software layers always eats up 
additional
                   computing resources.
  -                <br/>In short: the price for using O/R tools is performance.
  +                <br/>In short: the price for using O/R tools is performance. 
But on the
  +                other hand the biggest performance consumption is the 
database access itself
  +                (database performance, network performance, jdbc driver, 
driver settings, ...).
  +                So the percentage of O/R tool performance consumption isn't 
big.
               </p>
   
               <p>
  @@ -106,276 +109,289 @@
                   refer to this
                   <link href="site:platform">document for details</link>.
               </p>
  -        </section>
   
   
  -        <section>
  -            <title>Interpreting test results</title>
  -            <p>
  -                Interpreting the result of these benchmarks carefully will 
help to
  -                decide whether using OJB is viable for specific application 
scenarios
  -                or if native JDBC programming should be used for performance 
reasons.
  -            </p>
  -            <p>
  -                Take care of compareable configuration properties when run
  -                performance tests with different O/R tools.
  -            </p>
  -            <p>
  -                If the decision made to use an O/R mapping tool the 
comparison with
  -                other tools helps to find the best one for the thought 
scenario.
  -                But performance shouldn't be the only reason to take a 
specific
  -                O/R tool. There are many other points to consider:
  -            </p>
  -            <p>
  -                - Usability of the supported API's
  -                <br/>- Flexibility of the framework
  -                <br/>- Scalability of the framework
  -                <br/>- Community support
  -                <br/>- The different licences of Open Source projects
  -                <br/>- etcetera ...
  -            </p>
  -
  -        </section>
  +            <section>
  +                <title>Interpreting test results</title>
  +                <p>
  +                    Interpreting the result of these benchmarks carefully 
will help to
  +                    decide whether using OJB is viable for specific 
application scenarios
  +                    or if native JDBC programming should be used for 
performance reasons.
  +                </p>
  +                <p>
  +                    Take care of compareable configuration properties when 
run
  +                    performance tests with different O/R tools.
  +                </p>
  +                <p>
  +                    If the decision made to use an O/R mapping tool the 
comparison with
  +                    other tools helps to find the best one for the thought 
scenario.
  +                    But performance shouldn't be the only reason to take a 
specific
  +                    O/R tool. There are many other points to consider:
  +                </p>
  +                <p>
  +                    - Usability of the supported API's
  +                    <br/>- Flexibility of the framework
  +                    <br/>- Scalability of the framework
  +                    <br/>- Community support
  +                    <br/>- The different licences of Open Source projects
  +                    <br/>- etcetera ...
  +                </p>
   
  +            </section>
   
  -        <anchor id="compares-to-native"/>
  -        <section>
  -            <title>How OJB compares to native JDBC programming?</title>
  -            <p>
  -                OJB is shipped with tests compares native JDBC with ODMG and
  -                PB-API implementation.
  -                This part of the test suite is integrated into the OJB build 
mechanism.
  -                <br/>
  -                A single client test you can
  -                invoke it by typing
  -                <code>ant performance</code> or
  -                <code>ant performance</code>.
  -            </p>
   
  -            <p>
  -                If running OJB out of the box the tests will be performed 
against
  -                the Hypersonic SQL shipped with OJB. A typical output looks 
like
  -                follows:
  +            <anchor id="compares-to-native"/>
  +            <section>
  +                <title>How OJB compares to native JDBC programming - 
single-threaded</title>
  +                <p>
  +                    OJB is shipped with tests compares native JDBC with ODMG 
and
  +                    PB-API implementation.
  +                    This part of the test suite is integrated into the OJB 
build mechanism.
  +                    <br/>
  +                    A single client test you can
  +                    invoke it by typing
  +                    <code>ant performance</code> or
  +                    <code>ant performance</code>.
                   </p>
  -                <source><![CDATA[
  +
  +                <p>
  +                    If running OJB out of the box the tests will be 
performed against
  +                    the Hypersonic SQL shipped with OJB. A typical output 
looks like
  +                    follows:
  +                    </p>
  +                    <source><![CDATA[
   performance:
         [ojb] .[performance] INFO: Test for PB-api
         [ojb] [performance] INFO:
  -      [ojb] [performance] INFO: inserting 2500 Objects: 3257 msec
  -      [ojb] [performance] INFO: updating 2500 Objects: 1396 msec
  -      [ojb] [performance] INFO: querying 2500 Objects: 1322 msec
  -      [ojb] [performance] INFO: querying 2500 Objects: 26 msec
  -      [ojb] [performance] INFO: fetching 2500 Objects: 495 msec
  -      [ojb] [performance] INFO: deleting 2500 Objects: 592 msec
  +      [ojb] [performance] INFO: inserting 1500 Objects: 625 msec
  +      [ojb] [performance] INFO: updating 1500 Objects: 375 msec
  +      [ojb] [performance] INFO: querying 1500 Objects: 31 msec
  +      [ojb] [performance] INFO: querying 1500 Objects: 16 msec
  +      [ojb] [performance] INFO: fetching 1500 Objects: 188 msec
  +      [ojb] [performance] INFO: deleting 1500 Objects: 140 msec
         [ojb] [performance] INFO:
  -      [ojb] [performance] INFO: inserting 2500 Objects: 869 msec
  -      [ojb] [performance] INFO: updating 2500 Objects: 1567 msec
  -      [ojb] [performance] INFO: querying 2500 Objects: 734 msec
  -      [ojb] [performance] INFO: querying 2500 Objects: 20 msec
  -      [ojb] [performance] INFO: fetching 2500 Objects: 288 msec
  -      [ojb] [performance] INFO: deleting 2500 Objects: 447 msec
  +      [ojb] [performance] INFO: inserting 1500 Objects: 188 msec
  +      [ojb] [performance] INFO: updating 1500 Objects: 265 msec
  +      [ojb] [performance] INFO: querying 1500 Objects: 0 msec
  +      [ojb] [performance] INFO: querying 1500 Objects: 0 msec
  +      [ojb] [performance] INFO: fetching 1500 Objects: 16 msec
  +      [ojb] [performance] INFO: deleting 1500 Objects: 63 msec
         [ojb] [performance] INFO:
  -      [ojb] [performance] INFO: inserting 2500 Objects: 979 msec
  -      [ojb] [performance] INFO: updating 2500 Objects: 1240 msec
  -      [ojb] [performance] INFO: querying 2500 Objects: 741 msec
  -      [ojb] [performance] INFO: querying 2500 Objects: 18 msec
  -      [ojb] [performance] INFO: fetching 2500 Objects: 289 msec
  -      [ojb] [performance] INFO: deleting 2500 Objects: 446 msec
  +      [ojb] [performance] INFO: inserting 1500 Objects: 187 msec
  +      [ojb] [performance] INFO: updating 1500 Objects: 282 msec
  +      [ojb] [performance] INFO: querying 1500 Objects: 15 msec
  +      [ojb] [performance] INFO: querying 1500 Objects: 0 msec
  +      [ojb] [performance] INFO: fetching 1500 Objects: 31 msec
  +      [ojb] [performance] INFO: deleting 1500 Objects: 110 msec
   
  -      [ojb] Time: 18,964
  +      [ojb] Time: 5,672
   
         [ojb] OK (1 test)
   
  -     [jdbc] .[performance] INFO: Test for native JDBC
  +     [jdbc] .[performance] INFO: Test for JDBC
        [jdbc] [performance] INFO:
  -     [jdbc] [performance] INFO: inserting 2500 Objects: 651 msec
  -     [jdbc] [performance] INFO: updating 2500 Objects: 775 msec
  -     [jdbc] [performance] INFO: querying 2500 Objects: 616 msec
  -     [jdbc] [performance] INFO: querying 2500 Objects: 384 msec
  -     [jdbc] [performance] INFO: fetching 2500 Objects: 49 msec
  -     [jdbc] [performance] INFO: deleting 2500 Objects: 213 msec
  +     [jdbc] [performance] INFO: inserting 1500 Objects: 219 msec
  +     [jdbc] [performance] INFO: updating 1500 Objects: 219 msec
  +     [jdbc] [performance] INFO: querying 1500 Objects: 187 msec
  +     [jdbc] [performance] INFO: querying 1500 Objects: 94 msec
  +     [jdbc] [performance] INFO: fetching 1500 Objects: 16 msec
  +     [jdbc] [performance] INFO: deleting 1500 Objects: 62 msec
        [jdbc] [performance] INFO:
  -     [jdbc] [performance] INFO: inserting 2500 Objects: 508 msec
  -     [jdbc] [performance] INFO: updating 2500 Objects: 686 msec
  -     [jdbc] [performance] INFO: querying 2500 Objects: 390 msec
  -     [jdbc] [performance] INFO: querying 2500 Objects: 360 msec
  -     [jdbc] [performance] INFO: fetching 2500 Objects: 46 msec
  -     [jdbc] [performance] INFO: deleting 2500 Objects: 204 msec
  +     [jdbc] [performance] INFO: inserting 1500 Objects: 157 msec
  +     [jdbc] [performance] INFO: updating 1500 Objects: 187 msec
  +     [jdbc] [performance] INFO: querying 1500 Objects: 94 msec
  +     [jdbc] [performance] INFO: querying 1500 Objects: 94 msec
  +     [jdbc] [performance] INFO: fetching 1500 Objects: 16 msec
  +     [jdbc] [performance] INFO: deleting 1500 Objects: 62 msec
        [jdbc] [performance] INFO:
  -     [jdbc] [performance] INFO: inserting 2500 Objects: 538 msec
  -     [jdbc] [performance] INFO: updating 2500 Objects: 775 msec
  -     [jdbc] [performance] INFO: querying 2500 Objects: 384 msec
  -     [jdbc] [performance] INFO: querying 2500 Objects: 360 msec
  -     [jdbc] [performance] INFO: fetching 2500 Objects: 48 msec
  -     [jdbc] [performance] INFO: deleting 2500 Objects: 204 msec
  +     [jdbc] [performance] INFO: inserting 1500 Objects: 125 msec
  +     [jdbc] [performance] INFO: updating 1500 Objects: 219 msec
  +     [jdbc] [performance] INFO: querying 1500 Objects: 109 msec
  +     [jdbc] [performance] INFO: querying 1500 Objects: 110 msec
  +     [jdbc] [performance] INFO: fetching 1500 Objects: 0 msec
  +     [jdbc] [performance] INFO: deleting 1500 Objects: 62 msec
   
  -     [jdbc] Time: 18,363
  +     [jdbc] Time: 8,75
   
        [jdbc] OK (1 test)
   
        [odmg] .[performance] INFO: Test for ODMG-api
        [odmg] [performance] INFO:
  -     [odmg] [performance] INFO: inserting 2500 Objects: 12151 msec
  -     [odmg] [performance] INFO: updating 2500 Objects: 2937 msec
  -     [odmg] [performance] INFO: querying 2500 Objects: 4691 msec
  -     [odmg] [performance] INFO: querying 2500 Objects: 2239 msec
  -     [odmg] [performance] INFO: fetching 2500 Objects: 1633 msec
  -     [odmg] [performance] INFO: deleting 2500 Objects: 1815 msec
  +     [odmg] [performance] INFO: inserting 1500 Objects: 750 msec
  +     [odmg] [performance] INFO: updating 1500 Objects: 516 msec
  +     [odmg] [performance] INFO: querying 1500 Objects: 1484 msec
  +     [odmg] [performance] INFO: querying 1500 Objects: 547 msec
  +     [odmg] [performance] INFO: fetching 1500 Objects: 78 msec
  +     [odmg] [performance] INFO: deleting 1500 Objects: 218 msec
        [odmg] [performance] INFO:
  -     [odmg] [performance] INFO: inserting 2500 Objects: 2483 msec
  -     [odmg] [performance] INFO: updating 2500 Objects: 2868 msec
  -     [odmg] [performance] INFO: querying 2500 Objects: 3272 msec
  -     [odmg] [performance] INFO: querying 2500 Objects: 2223 msec
  -     [odmg] [performance] INFO: fetching 2500 Objects: 1038 msec
  -     [odmg] [performance] INFO: deleting 2500 Objects: 1717 msec
  +     [odmg] [performance] INFO: inserting 1500 Objects: 266 msec
  +     [odmg] [performance] INFO: updating 1500 Objects: 359 msec
  +     [odmg] [performance] INFO: querying 1500 Objects: 531 msec
  +     [odmg] [performance] INFO: querying 1500 Objects: 531 msec
  +     [odmg] [performance] INFO: fetching 1500 Objects: 47 msec
  +     [odmg] [performance] INFO: deleting 1500 Objects: 125 msec
        [odmg] [performance] INFO:
  -     [odmg] [performance] INFO: inserting 2500 Objects: 2666 msec
  -     [odmg] [performance] INFO: updating 2500 Objects: 2841 msec
  -     [odmg] [performance] INFO: querying 2500 Objects: 2092 msec
  -     [odmg] [performance] INFO: querying 2500 Objects: 2161 msec
  -     [odmg] [performance] INFO: fetching 2500 Objects: 1036 msec
  -     [odmg] [performance] INFO: deleting 2500 Objects: 1741 msec
  -
  -     [odmg] Time: 55,186]]></source>
  -            <p>
  -                Some notes on these test results:
  +     [odmg] [performance] INFO: inserting 1500 Objects: 282 msec
  +     [odmg] [performance] INFO: updating 1500 Objects: 375 msec
  +     [odmg] [performance] INFO: querying 1500 Objects: 546 msec
  +     [odmg] [performance] INFO: querying 1500 Objects: 532 msec
  +     [odmg] [performance] INFO: fetching 1500 Objects: 31 msec
  +     [odmg] [performance] INFO: deleting 1500 Objects: 156 msec
  +
  +     [odmg] Time: 13,75
  +
  +     [odmg] OK (1 test)]]></source>
  +                <p>
  +                    Some notes on these test results:
  +                    </p>
  +                    <ul>
  +                        <li>
  +                            You see a consistently better performance in the 
second and third run.
  +                            this is caused by warming up effects of JVM and 
OJB.
  +                        </li>
  +                        <li>
  +                            PB and native JDBC need about the same time for 
the three runs although JDBC
  +                            performance is better for most operations.
  +                            This is caused by the second run of the querying 
operations.
  +                            In the second run OJB can load all objects from 
the cache, thus the time is
  +                            <strong>much</strong> shorter.
  +                            Hence the interesting result: if you have an 
application that has a lot of lookups,
  +                            OJB can be faster than a native JDBC application 
(without caching extensions)!
  +                        </li>
  +                        <li>
  +                            ODMG is much slower than PB or JDBC. This is due 
to the complex object level
  +                            transaction management it is doing and the fact 
that ODMG doesn't have a specific
  +                            method to lookup objects by it's identity. The 
second reason is responsible for
  +                            slow <em>querying</em> results, because in test 
always a complex query is done for
  +                            each object. It is possible to use the PB-api 
within ODMG, then the query by identity
  +                            will be as fast as in PB-api.
  +                        </li>
  +                        <li>
  +                            You can see that for HSQLDB operations like 
insert and update are faster with
  +                            JDBC than with PB. This performance difference 
strongly depends on the used
  +                            <link href="site:object-cache">cache 
implementation</link> and can rise up
  +                            to 50% when the cache operate on object copies.
  +                            This ratio is so high, because HSQLDB was 
running with <em>in memory mode</em> and
  +                            is much faster than ordinary database servers.
  +                            If you work against Oracle or DB2 the percentual 
OJB overhead is going down a
  +                            lot (10 - 15 %), as the database latency is much 
longer than the OJB overhead.
  +                        </li>
  +                    </ul>
  +                <p>
  +                    It's easy to change target database. Please
  +                    refer to this
  +                    <link href="platforms.html">document for details</link>.
  +                    <br/>
  +                    Also it's possible to change the number of test objects 
by
  +                    editing the ant-target in build.xml.
                   </p>
  -                <ul>
  -                    <li>
  -                        You see a consistently better performance in the 
second and third run.
  -                        this is caused by warming up effects of JVM and OJB.
  -                    </li>
  -                    <li>
  -                        PB and native JDBC need about the same time for the 
three runs although JDBC performance is better for most operations.
  -                        this is caused by the second run of the querying 
operations.
  -                        In the second run OJB can load all objects from the 
cache, thus the time is
  -                        <strong>much</strong> shorter.
  -                        Hence the interesting result: if you have an 
application that has a lot of lookups, OJB can be faster than a native JDBC 
application!
  -                    </li>
  -                    <li>
  -                        ODMG is much slower than PB or JDBC. This is due to 
the complex object level transaction management it is doing.
  -                    </li>
  -                    <li>
  -                        You can see that for HSQLDB operations like insert 
and update are much faster with JDBC than with PB (60% and more).
  -                        This ratio is so high, because HSQLDB is much faster 
than ordinary database servers (as it's inmemory).
  -                        If you work against Oracle or DB2 the percentual OJB 
overhead is going down a lot (10 - 15 %), as the database latency is much 
longer than the OJB overhead.
  -                    </li>
  -                </ul>
  -            <p>
  -                It's easy to change target database. Please
  -                refer to this
  -                <link href="platforms.html">document for details</link>.
  -                <br/>
  -                Also it's possible to change the number of test objects by
  -                editing the ant-target in build.xml.
  -            </p>
  -            <p>
  -                Another test compares PB-api,ODMG-api and native JDBC you 
can find
  -                <link href="#multithreaded-performance">next section</link>.
  -            </p>
  -        </section>
  +                <p>
  +                    Another test compares PB-api,ODMG-api and native JDBC 
you can find
  +                    <link href="#multithreaded-performance">next 
section</link>.
  +                </p>
  +            </section>
   
   
  -        <anchor id="multithreaded-performance"/>
  -        <section>
  -            <title>OJB performance in multi-threaded environments</title>
  -            <p>
  -                This test was created to check the performance and stability 
of the
  -                supported API's (PB-api, ODMG-api, JDO-api) in a 
multithreaded environment.
  -                Also this test compares the api's and native JDBC.
  -                <br/>
  -                Running this test out of the box (a virgin OJB version 
against hsql) shouldn't cause any problems.
  -                To run the JDO-api test too, see
  -                <link href="site:jdo-tutorial">JDO tutorial</link> and 
comment in
  -                the test in target
  -                <code>perf-test</code> in
  -                <code>build.xml</code>
  -            </p>
  -            <fixme author="arminw">
  -                A test for JDO API is missed.
  -            </fixme>
  -            <p>
  -                Per default OJB use hsql as database, by changing the 
JdbcConnectionDescriptor
  -                in the repository.xml file you can point to your specific 
RDBMS. Please
  -                refer to this
  -                <link href="site:platform">document for details</link>.
  -            </p>
  -
  -            <p>
  -                To run the multithreaded performance test call
  +            <anchor id="multithreaded-performance"/>
  +            <section>
  +                <title>OJB performance in multi-threaded environments</title>
  +                <p>
  +                    This test was created to check the performance and 
stability of the
  +                    supported API's (PB-api, ODMG-api, JDO-api) in a 
multithreaded environment.
  +                    Also this test compares the api's and native JDBC.
  +                    <br/>
  +                    Running this test out of the box (a virgin OJB version 
against hsql) shouldn't cause any problems.
  +                    To run the JDO-api test too, see
  +                    <link href="site:jdo-tutorial">JDO tutorial</link> and 
comment in
  +                    the test in target
  +                    <code>perf-test</code> in
  +                    <code>build.xml</code>
                   </p>
  -            <source><![CDATA[
  -ant perf-test]]></source>
  -            <p>
  -                A typical output of this test looks like (OJB against hsql 
server, 2-tier, 100 MBit network):
  +                <fixme author="arminw">
  +                    A test for JDO API is missed.
  +                </fixme>
  +                <p>
  +                    Per default OJB use hsql as database, by changing the 
JdbcConnectionDescriptor
  +                    in the repository.xml file you can point to your 
specific RDBMS. Please
  +                    refer to this
  +                    <link href="site:platform">document for details</link>.
                   </p>
  -            <source><![CDATA[
  -[ojb] ========================================================
  +
  +                <p>
  +                    To run the multithreaded performance test call
  +                    </p>
  +                <source><![CDATA[
  +    ant perf-test]]></source>
  +                <p>
  +                    A typical output of this test looks like (OJB against 
hsql server, 2-tier, 100 MBit network):
  +                    </p>
  +                <source><![CDATA[
  +[ojb] ================================================================
   [ojb]         OJB PERFORMANCE TEST SUMMARY
  -[ojb] 10 concurrent threads, handle 2000 objects per thread
  -[ojb]         - performance mode
  -[ojb] ========================================================
  -[ojb]      API  Period   Total  Insert   Fetch  Update  Delete
  -[ojb]            [sec]   [sec]  [msec]  [msec]  [msec]  [msec]
  -[ojb] --------------------------------------------------------
  -[ojb]     JDBC   7.786   7.374    3951      76    2435     911
  -[ojb]       PB   9.807   8.333    5096     121    2192     922
  -[ojb]     ODMG  19.562  18.205    8432    1488    5064    3219
  -[ojb]      OTM  24.953  21.272   10688     223    4326    6033
  -[ojb] ========================================================
  -
  -[ojb] PerfTest takes 191 [sec]
  -            ]]></source>
  -            <p>
  -                To change the test properties go to target
  -                <code>perf-test</code>
  -                in the
  -                <code>build.xml</code> file and change the program parameter.
  -                <br/>
  -                The test needs five parameter:
  -                <br/>- A comma separated list of the test implementation 
classes (no blanks!)
  -                <br/>- The number of test loops
  -                <br/>- The number of concurrent threads
  -                <br/>- The number of managed objects per thread
  -                <br/>- The desired test mode.
  -                <code>false</code> means run in
  -                performance mode,
  -                <code>true</code> means run in stress mode
  -                (useful only for developer to check stability).
  -            </p>
  -            <source><![CDATA[
  +[ojb] 12 concurrent threads, handle 500 objects per thread
  +[ojb]         - performance mode - results per thread
  +[ojb] ================================================================
  +[ojb]      API  Period   Total   Total  Insert   Fetch  Update  Delete
  +[ojb]            [sec]   [sec]     [%]  [msec]  [msec]  [msec]  [msec]
  +[ojb] ----------------------------------------------------------------
  +[ojb]     JDBC   2.533   2.243     100    1215      29     731     266
  +[ojb]       PB   3.181   2.835     126    1397      89     940     409
  +[ojb]     ODMG   3.862   2.965     132    1526      63     902     472
  +[ojb]      OTM   5.846   5.225     233    2720      70    1424    1009
  +[ojb] ================================================================
  +
  +[ojb] PerfTest takes 125 [sec]]]></source>
  +                <p>
  +                    To change the test properties go to target
  +                    <code>perf-test</code>
  +                    in the
  +                    <code>build.xml</code> file and change the program 
parameter.
  +                    <br/>
  +                    The test needs five parameter:
  +                    <br/>- A comma separated list of the test implementation 
classes (no blanks!)
  +                    <br/>- The number of test loops
  +                    <br/>- The number of concurrent threads
  +                    <br/>- The number of managed objects per thread
  +                    <br/>- The desired test mode.
  +                    <code>false</code> means run in
  +                    performance mode,
  +                    <code>true</code> means run in stress mode
  +                    (useful only for developer to check stability).
  +                </p>
  +                <source><![CDATA[
   <target name="perf-test" depends="prepare-testdb"
  -            description="Simple performance benchmark and stress test for 
PB- and ODMG-api">
  +        description="Simple performance benchmark and stress test for PB- 
and ODMG-api">
       <java fork="yes" classname="org.apache.ojb.performance.PerfMain"
             dir="${build.test}/ojb" taskname="ojb" failonerror="true" >
           <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$JdbcPerfTest,
  +        org.apache.ojb.broker.OJBPerfTest$PBPerfTest,
  +        org.apache.ojb.broker.OJBPerfTest$ODMGPerfTest,
           org.apache.ojb.broker.OJBPerfTest$OTMPerfTest"
           />
  -        <!-- test loops, default was 3 -->
  -        <arg value="3"/>
  -        <!-- performed threads, default was 10 -->
  -        <arg value="10"/>
  -        <!-- number of managed objects per thread, default was 2000 -->
  -        <arg value="2000"/>
  -        <!-- if 'false' we use performance mode, 'true' we do run in stress 
mode -->
  +        <arg value="6"/>
  +        <!-- test loops, default was 6 -->
  +        <arg value="12"/>
  +        <!-- performed threads, default was 12 -->
  +        <arg value="500"/>
  +        <!-- number of managed objects per thread, default was 500 -->
           <arg value="false"/>
  +        <!-- if 'false' we use performance mode, 'true' we do run in stress 
mode -->
   
           <jvmarg value="-Xms128m"/>
           <jvmarg value="-Xmx256m"/>
       </java>
       <!-- do some cleanup -->
       <ant target="copy-testdb"/>
  -</target>
  -            ]]></source>
  +</target>]]></source>
  +            </section>
  +
           </section>
   
   
  +
           <anchor id="compares-to-other"/>
           <section>
               <title>How OJB compares to other O/R mapping tools?</title>
  @@ -406,7 +422,7 @@
                       <li>Implement a class derived from
                           <link 
href="ext:api/perf-handle"><code>PerfHandle</code></link>
                       </li>
  -                    <li>[If persistent objects used within your mapping tool 
must be derived from a specific
  +                    <li>[If persistent objects (used within your mapping 
tool) must be derived from a specific
                           base class or must be implement a specific interface 
write your own persistent
                           object class by implementing
                           <link 
href="ext:api/perf-article"><code>PerfArticle</code></link>
  @@ -500,7 +516,8 @@
           <section>
               <title>What are the best settings for maximal 
performance?</title>
               <p>
  -                We don't know, that depends from the environment OJB runs 
(hardware, database, driver, application server, ...).
  +                We don't know, that depends from the environment OJB runs 
(hardware, database,
  +                driver, application server, ...).
                   But there are some settings which affect the performance:
                   </p>
                   <ul>
  @@ -509,6 +526,9 @@
                           <link href="site:faq/api-differences">which 
API</link> for more information.
                       </li>
                       <li>
  +                        The used <link href="site:object-cache">cache 
implementation</link>.
  +                    </li>
  +                    <li>
                           ConnectionFactory implementation / Connection 
pooling. See
                           <link href="site:faq">connection pooling</link>
                           for more information.
  @@ -533,6 +553,9 @@
                           PersistenceBroker pool size. See
                           <link 
href="ext:ojb.properties">OJB.properties</link> for more information.
                       </li>
  +                    <li>
  +                        The <em>JDBC driver</em> settings (e.g. statement 
caching on/off).
  +                    </li>
                   </ul>
               <p>
                   To test the different settings use the tests of the
  
  
  
  1.1.2.3   +4 -5      
db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml
  
  Index: platforms.xml
  ===================================================================
  RCS file: 
/home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- platforms.xml     7 Apr 2005 21:55:52 -0000       1.1.2.2
  +++ platforms.xml     25 Apr 2005 17:12:06 -0000      1.1.2.3
  @@ -80,16 +80,15 @@
                               <source><![CDATA[
   <table name="OJB_HL_SEQ" description="HIGH/LOW SequenceManager table">
       <column name="TABLENAME" required="true" primaryKey="true"
  -        type="VARCHAR" size="175"/>
  -    <column name="FIELDNAME" required="true" primaryKey="true"
  -        type="VARCHAR" size="70"/>
  +        type="VARCHAR" size="250"/>
       <column name="MAX_KEY" type="BIGINT"/>
       <column name="GRAB_SIZE" type="INTEGER"/>
       <column name="VERSION" type="INTEGER"/>
   </table>]]></source>
                           </td>
                           <td>
  -                            Table for the high/low sequence manager.
  +                            Table for the high/low sequence manager. The 
column <em>TABLENAME</em> was used
  +                            to persist the sequence name (may be re-named in 
further versions of OJB).
                               <br/>
                               If the built-in OJB sequence manager is not 
used, this table is not needed.
                           </td>
  
  
  
  No                   revision
  No                   revision
  1.1.2.3   +17 -2     
db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/testing/testsuite.xml
  
  Index: testsuite.xml
  ===================================================================
  RCS file: 
/home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/testing/testsuite.xml,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- testsuite.xml     7 Apr 2005 21:55:52 -0000       1.1.2.2
  +++ testsuite.xml     25 Apr 2005 17:12:06 -0000      1.1.2.3
  @@ -36,12 +36,27 @@
               </p>
               <p>
                   Quality assurance taken seriously! OJB and provide specific 
tests for each
  -                supported API. Currently more than 600 test cases for 
regression tests exist.
  +                supported API. Currently more than 800 test cases for 
regression tests exist.
                   As testing framework
                   <link href="ext:junit">JUnit</link> was used.
               </p>
  +
  +
  +            <anchor id="location"/>
  +            <section>
  +                <title>Where can I find the test sources?</title>
  +                <p>
  +                    The test sources of the <em>OJB Test-Suite</em> can be 
find under
  +                    
<strong><code>[db-ojb]/src/test/org/apache/ojb</code></strong>.
  +                    <br/>
  +                    It's also possible to browse the test sources online 
using the
  +                    <link href="ext:cvs-index"><em>apache cvs 
view</em></link>. The test directory can be found here:
  +                    <link 
href="ext:cvs-view-tests"><strong><code>[db-ojb]/src/test/org/apache/ojb</code></strong></link>.
  +                </p>
  +            </section>
           </section>
   
  +
           <anchor id="run-test-suite"/>
           <section>
               <title>How to run the Test Suite</title>
  
  
  
  No                   revision
  No                   revision
  1.3.2.15  +3 -2      
db-ojb/src/doc/forrest/src/documentation/content/xdocs/site.xml
  
  Index: site.xml
  ===================================================================
  RCS file: 
/home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/site.xml,v
  retrieving revision 1.3.2.14
  retrieving revision 1.3.2.15
  diff -u -r1.3.2.14 -r1.3.2.15
  --- site.xml  9 Apr 2005 22:53:58 -0000       1.3.2.14
  +++ site.xml  25 Apr 2005 17:12:07 -0000      1.3.2.15
  @@ -261,7 +261,8 @@
               <binaries-version 
href="http://www.apache.org/dyn/closer.cgi/db/ojb/"/>
               <source-version 
href="http://www.apache.org/dyn/closer.cgi/db/ojb/"/>
               <cvs-view href="http://cvs.apache.org/viewcvs/db-ojb/"/>
  -            <cvs-index href="http://jakarta.apache.org/site/cvsindex.html"/>
  +            <cvs-view-tests 
href="http://cvs.apache.org/viewcvs/db-ojb/src/test/org/apache/ojb/"/>
  +            <cvs-index href="http://cvs.apache.org/viewcvs/"/>
               <license-site href="http://www.apache.org/LICENSE"/>
               <mail>
                   <user>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to