not sure what you reference by "string" but JPA needs more round trip to be
"hot" (optimized) than dbutils which doesnt pretty much nothing. The state
management etc is also an overhead.

If you update your example to have a @Version for instance you will start
to realize it, then add a small layer to not have to build yourself the
update query and you will see another part etc.

I would probably recommand you to maybe evaluate this: try with mysql to
have some real db latency and compare the db latency to jpa overhead -
and/or try with N threads with hsqldb ;).

Generally the overhead once tuned is acceptable compared to the DB latency
and you are often in the IO layer and not the runtime layer.

Side note about the example: i think the goal was to show how to use a
stateful, name is probably not that great :s



Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://blog-rmannibucau.rhcloud.com> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>

2017-06-20 15:58 GMT+02:00 Steve Goldsmith <sgj...@gmail.com>:

> I copied the JPA stuff from the TomEE examples, so if it is not optimized,
> using the wrong state, scope, etc. then perhaps the example should be
> updated to reflect that. I will try what you recommend and post new times.
> The data is exactly the same size, so are you saying because the strings
> are not identical there may be a difference? Just trying to understand that
> perspective. I'll just roll both tests into one to use the same data.
>
> On Tue, Jun 20, 2017 at 2:53 AM, Andy Gumbrecht <agumbre...@tomitribe.com>
> wrote:
>
> > So just at a super quick glance - Before we start to anything else.
> >
> > You should modify the code to use the same (identical) random data for
> both
> > tests.
> > Add hibernate.jdbc.batch_size = 25 to your persistence.xml properties
> > Never use @Stateful unless you really understand why you should, i.e. use
> > @Stateless for your JpaMovies
> > Use entityManager#find rather than a query
> >
> > Hope this is a quick insight, but I'd also be interested to see the
> results
> > on just these few changes.
> >
> > Andy.
> >
> > On 20 June 2017 at 05:31, Laird Nelson <ljnel...@gmail.com> wrote:
> >
> > > Have you sat down for a good long reading session with
> > > http://java-persistence-performance.blogspot.com/?  I found that site
> > > invaluable.
> > >
> > > Best,
> > > Laird
> > > --
> > > http://about.me/lairdnelson
> > >
> > > On Mon, Jun 19, 2017 at 8:22 PM sgjava <sgj...@gmail.com> wrote:
> > >
> > > > I just built a project to compare JPA+Hibernate to a DBUtils
> > > > implementation.
> > > > DBUtils is a lot faster by a large margin. Can anyone tell me if they
> > > have
> > > > tuned JPA to perform better? I used TomEE 7.0.4-SNAPSHOT. I could
> live
> > > with
> > > > maybe a 10% difference, but I'm talking about 10 to 10 times slower!
> > > >
> > > > https://github.com/sgjava/jpavsdbutils
> > > >
> > > >
> > > >
> > > > --
> > > > View this message in context:
> > > > http://tomee-openejb.979440.n4.nabble.com/JPA-vs-DBUtils-
> > tp4681918.html
> > > > Sent from the TomEE Users mailing list archive at Nabble.com.
> > > >
> > >
> >
> >
> >
> > --
> >   Andy Gumbrecht
> >   https://twitter.com/AndyGeeDe
> >   http://www.tomitribe.com
> >
>
>
>
> --
> Steven P. Goldsmith
>

Reply via email to