I have a simple test application and set of test clients that we wrote to
help screen various EJB servers and RDBMS's. These run significantly
slower against the later beta 1.1 releases (up to 3:1). I'm trying to tell
if this is a deployment problem, the beta versions are slower (possibly
because of debug code), hypersonic has changed, or something else. Both
CMP and BMP show increased times.
For example, one test has a simple entity bean, a stateless session bean,
and a command-line test client. The EB has two fields, a String primary
key, and a long. The SB has a get method that does a findByPrimaryKey with
a fixed string, and increments and returns the long. The test client calls
the get method 10000 times and prints the elapsed time. With 1.0 and CMP
this took 13,500ms, averaged over 5 runs. With 1.1.37 it takes
35,800ms. More complicated tests show similar results.
For these comparisons the test platform is a PIII-550/128MB, Win98, Sun SDK
1.2.2, and Hypersonic as shipped from Orion. System Monitor shows 100%
CPU, as expected.
Interestingly, after shutdown, Hypersonic's defaultdb.script file shows
repeated deletes and inserts for all key values rather than a single insert
for the final values. Could this indicate a transaction problem? I changed
the BMP test's transaction type to not required and didn't see any
changes. I also changed the CMP test's script file to create cached
tables, with no effect on run time.
Does anyone have any suggestions on where to look? If it's on my side I'd
like to find out before I get much deeper into production code, and if it's
a beta or hSql problem we'll just ignore it for now.
Thanks!
Kirk Yarina
[EMAIL PROTECTED]