[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-5062?page=c...
]
Juraci Paixao Krohling commented on HHH-5062:
---------------------------------------------
Fabiano,
Would you please provide more details and/or a code that depicts this? I wasn't able
to find this bottleneck in any of my tests, so, maybe I don't have the same
environment as you. I have Fedora 13, Sun HotSpot Server JVM 1.6.22 32-bit, Log4J, local
mysql database, Hibernate 3.3.2.GA. You seem to have Linux, DB2 and Hibernate 3.2 (tested
in higher versions too). Which VM are you using (IBM? Sun? 32 x 64 bit?) and with which
parameters? It seems you are using logback logging facility. Do you see the same result
with Log4J?
Also, it's very strange that isDebugEnabled would cause such a performance hit, as
it's supposed to be a very inexpensive operation. I didn't checked that, but I
think that the HotSpot VM would also take care of optimizing this call.
In the Session.flush method has a lost of perfomance about 50% when
flush a large amout of data
-----------------------------------------------------------------------------------------------
Key: HHH-5062
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-5062
Project: Hibernate Core
Issue Type: Improvement
Components: core
Affects Versions: 3.2.6, 3.2.7, 3.3.0.CR1, 3.3.0.CR2, 3.3.0.GA, 3.3.0.SP1, 3.3.1,
3.3.2, 3.5.0.Beta-1, 3.5.0-Beta-2, 3.5.0-Beta-3, 3.5.0-Beta-4, 3.5.0-CR-1, 3.5.0-CR-2,
3.5.0-Final
Environment: Linux / DB2 / version 3.2.6 and above
Reporter: Fabiano Cury
Assignee: Juraci Paixao Krohling
Attachments: issueHibernate.JPG
Original Estimate: 0.5h
Remaining Estimate: 0.5h
When the flush method is called this method call the onFlush method of class
DefaultFlushEventListener and then the method flushEverythingToExecutions(event).
This method (flushEverythingToExecutions) call many times (loop) the method
log.isDebugEnabled().
This cause a big overhead in this method.
I suggest you to put an attribute in the method
flushEverythingToExecutions(flushEverythingToExecutions(FlushEvent event, Boolean
isDebugEnable) and verify this attribute before the loop for.
Attached the print screen of profiling that help me to detect this issue.
Tks.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira