| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/01/2009 21:45:50
|
boaglio
Moderador
![[Avatar]](/images/avatar/c0c7c76d30bd3dcaefc96f40275bdc0a.png)
Membro desde: 09/09/2002 21:23:39
Mensagens: 1865
Localização: Sampa City
Offline
|
Interessante comparação entre as implementações do JPA, aparentemente o Hibernate levou a melhor, vejam as conclusões do autor :
My intention is that anyone can draw their own conclusions looking at the results or using the code to do a test of their own.
Nevertheless, I consider that there are a number of conclusions that one can draw watching the monitored data:
1. There is not an implementation that clearly has the best performance. Some had a very good CPU or memory performance and some did it very well when inserting or querying. But none of them was outstanding as a whole.
2. The number of records inserted by Hibernate was extremely higher than it was for any other implementation (4 times more compared to Eclipselink and 24 times more compared to OpenJPA). However, Hibernate was also the JPA implementation that executed the lowest number of queries, although the differences in this value (3080 for Hibernate vs 3740 for Toplink Essentials) are not so extreme as for the number of inserts.
3. Hibernate was also the implementation that consumed more memory. But having into account that it inserted many more records than the others, it sounds reasonable.
4. OpenJPA had the lowest value of inserts+queries.
5. The number of inserts executed by OpenJPA was extremely low, compared to the others.
6. The usage of CPU in the case of Toplink Essentials and Eclipselink was extremely low.
http://terrazadearavaca.blogspot.com/2008/12/jpa-implementations-comparison.html
|
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de Java via MP! |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/01/2009 07:22:31
|
palmadias
JavaTeenager
Membro desde: 08/07/2008 07:41:08
Mensagens: 192
Localização: São Paulo/SP
Offline
|
o que me chamou atenção foi o Toplink... pobrezinho!
This message was edited 1 time. Last update was at 20/01/2009 07:22:47
|
http://palmadias.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/01/2009 08:33:21
|
andrepestana
JavaEvangelist
![[Avatar]](/images/avatar/5be278a9e02bed9248a4674ff62fea2c.png)
Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline
|
Pelo que eu entendí ele fez a aplicação rodar durante o mesmo tempo para verificar que algumas implementações fizeram mais queries/inserções que outras e verificou a memória utilizada. O problema é que como o hibernate foi mais rápido, ele teve mais tempo para fazer inserções e isso deve ter consumido mais memória. Se o teste fosse fosse feito com o mesmo número de operações para as diferentes implementações independente do tempo, talvez o hibernate não teria alocado tanta memória.
|
Pestana
http://andrepestana.wordpress.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/01/2009 11:24:19
|
victorwss
JWizard
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline
|
Discordo do resultado. O hibernate sem dúvida foi muito rápido nos inserts, mas em bases de dados, selects são muito mais comuns do que inserts, e neste quesito, o hibernate ficou em último.
Além do mais, o teste não considera updates e deletes (embora estes sejam relativamente raros).
Além disso, como escrito nos comentários, cada implementação tem um monte de parâmetros que deveriam ser tunados para a aplicação, e o benchmark não fala nada sobre eles.
E realmente, o OpenJPA precisa de umas boas otimizações no insert. É estranho que o select seja mais rápido do que um insert, uma vez que insert é uma operação muito mais simples. Ou mais provavelmente isso seja efeito da forma como transações concorrentes são gerenciadas.
|
Victor Williams Stafusa da Silva
Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).
Se você escreve "concerteza", "concerteza" você andou matando aulas de português. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/01/2009 12:23:51
|
diegosantiviago
JavaGuru
Membro desde: 14/12/2008 11:53:44
Mensagens: 221
Localização: BR
Online
|
Lembro-me na faculdade quando fiz comparações assim, executando e o professor me deu um sermão. A explicação dele foi que não depende exclusivamente de nossos programas sendo executados, mas também de como o sistema operacional aloca os recursos. E que fazer isso era um tipo péssimo de comparação.
This message was edited 1 time. Last update was at 25/01/2009 12:24:34
|
SCJA, SCJP, SCBCD, SCEA (I), IBM SOA, ITIL v3 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2009 15:18:52
|
otavio
JavaChild
![[Avatar]](/images/avatar/9e740b84bb48a64dde25061566299467.png)
Membro desde: 01/08/2004 00:49:29
Mensagens: 139
Localização: JVM
Offline
|
Há de entender que Hibernate e Toplink estejam um pouco melhor, já que estão no mercado a mais tempo. Porém... o autor foi bem infeliz mesmo nos testes.
Não ví uma configuração mais afinada dos caches, nem mesmo as configs mais simples do Hibernate....
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/01/2011 21:48:39
|
barbon
JavaChild
![[Avatar]](/images/avatar/65f15d4ddc2b0fb9345fd98e7dd7ab33.jpg)
Membro desde: 27/07/2010 18:10:08
Mensagens: 147
Localização: São José do Rio Preto
Offline
|
Sei que o post é antigo, mas segue um link com a comparação entre os dois com a base MySQL.
Link: http://www.patternizando.com.br/2011/01/comparacao-de-desempenho-entre-hybernate-e-toplink-para-persistencia-baseada-em-jpa-com-mysql/
|
http://www.patternizando.com.br |
|
|
 |
|
|