At one point in this thread it was mentioned that the benchmark ran much
faster on a home computer than on an office computer and the reason for
the difference was not obvious. Was that difference explained yet?
What version of OpenJPA is the test using?
- Paul
On 3/19/2009 7:44 AM, Kevin Sutter wrote:
Shubbis and Nitish,
Thanks for your efforts. So, to clarify -- all implementations are using
similar configurations (ie. connection pooling, caching, enhancement, etc)?
But, the OpenJPA performance is still 3 times slower than the competitors?
In all of the scenarios? Or, just with this ManyToMany scenario? I would
expect some overhead as compared to iBatis and/or straight JDBC, but OpenJPA
should be competitive (and beat) the Hibernates and EclipseLinks... Very
frustrating. When we do our comparisons with the industry benchmarks (Trade
and SpecJApp), OpenJPA is extremely competitive.
I have not closely examined your benchmark project, so I don't know how it
compares to Trade and/or SpecJApp work loads. Any thoughts on this topic?
One other thought... Just to prove that the enhancement processing is being
done and you're not falling into the sub-classing support, could you run
with the following property? This will cause your application to error-off
if your Entities are not byte-code enhanced. We will not fall into the
sub-classing support which greatly affects the performance.
<property name="openjpa.RuntimeUnenhancedClasses"
value="warn"/>
It really seems that you are trying to do a fair comparison, and I greatly
appreciate your efforts. The last time one of these comparisons was posted,
the benchmark code and process was flawed. So, I am pleased to see the
efforts associated with this exercise.
Our performance lead is out having a baby, so we haven't been able to dig
into your benchmark to the extent that we would like. If we can verify that
the enhancement processing is happening, that would be good input. Thanks
for your patience. What kind of timeframe are you under for posting this
benchmark?
Thanks,
Kevin
On Thu, Mar 19, 2009 at 9:05 AM, Shubbis <marius.jo...@broadpark.no> wrote:
Since we decided to go with vanilla installations of alle the frameworks we
have not added the connection pool feature to OpenJPA, until now.
The results are sadly not that great. Yes, it's faster and it doesn't run
out of connections like before, BUT it's still 3, yes, -three- times slower
than Hibernate, EclipseLink, iBatis and regular JDBC when persisting
entities with many relations.
Clearly this is not the kind of results I was hoping for and I'm quite
perplexed as to what to do.
Shubbis
Nitish Kumar wrote:
Hi subbis,
If I let the iteration loop over 5000, I get that exception, It
seems (I am not sure) openjpa is creating a new connection and after a
while mysql runs out of connection. I tried the same code and iteration
loop with a connection pool and it works fine. That should get you
moving as of now, till someone from Open JPA team looks into the issue.
Thanks and Regards,
Nitish Kumar
--
View this message in context:
http://n2.nabble.com/Slow-performance-with-OpenJPA-when-selecting-from-a-ManyToMany-relation.-tp2466994p2503084.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.