OK. This is just an update on the performance modifications. The latest
change is actually not a big one - as with most of the changes I have
implemented.

The underlying findEntities works with an ArrayList but returns a
Collection. So I changed this to return an ArrayList. The Trove benchmarks
show that for the same ArrayList, using a Collection Iterator over the
native get(i) on a JVM 1.4.x gets you a penalty of between 2.2 and 2.75
increase in time. On Linux, the Sun JDK gives you 2.2 penalty but is
already twice as slow as the IBM SDK.

Sun
compares ArrayList get() against Collection hasNext()/next() over 100000
map keys
Iterations: 10
Their total (msec): 248
Our total (msec): 110
Their average (msec): 24
Our average (msec): 11

IBM
compares ArrayList get() against Collection hasNext()/next() over 100000
map keys
Iterations: 10
Their total (msec): 116
Our total (msec): 47
Their average (msec): 11
Our average (msec): 4

So for a heavily reliant entity bean implementation, you would hope for an
improvement.

Using ECperf 1.1, we found that the response time averages for operations
dropped by between 30 and 50 percent.

Hope that is useful.

JonB

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to