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
This archive was generated by hypermail 2.0.0 : Fri Dec 11 2009 - 23:13:56 EST