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
smime.p7s
Description: S/MIME cryptographic signature
