On 12/12/09 12:45 PM, Michael Gentry wrote:
Here is the result of our initial tests:

http://spreadsheets.google.com/pub?key=tNytbSdt5wYIRTmTl4L-cCA&output=html


* Are we to assume that all numbers are milliseconds?

* How are you timing? From when the first thread starts until the last one 
completes?  What do your results look like with one thread? Are you seeing some 
locking/concurrency issue?

* There is so much variance between runs that something is odd here. What are 
you doing between runs to clear the cache? How are you dealing with variability 
at the database? Is the database running on another server which is unloaded 
and isn't itself interfering with the results?

* The huge variability makes me think that memory pressures might be important. 
Are you seeing the JVM garbage collect during the middle of some runs? Can you 
run jstat and see if that is interfering.

* Are you able to pick the worst case (update) and time the various parts: 
create context, database UPDATE, commit finished... In your tests are you 
timing creating the context or is that outside the timing loop?

* can you compare the SQL generated by the two ORMs and see if there is any 
difference at the database level


Just a few thoughts....

Ari

--

-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

Reply via email to