[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-1258) startup time improvements

Tyler Van Gorder (JIRA) noreply at atlassian.com
Wed Oct 11 14:25:24 EDT 2006


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1258?page=comments#action_24777 ] 

Tyler Van Gorder commented on HHH-1258:
---------------------------------------

Oh one more thing, the startup time on my unit tests: 365+ persistent classes

My machine:

Before the patch 12 seconds......
After the patch 3.2 seconds...

We had one machine that was taking 1 minute to intialize the factory and that has been reduced to 11 seconds!

I would really like to get your input, even if this doesn't make it into the hibernate code base, I would at least like it to be thread safe!

Thanks Max.



> startup time improvements
> -------------------------
>
>          Key: HHH-1258
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1258
>      Project: Hibernate3
>         Type: Improvement

>   Components: core
>     Versions: 3.1 rc3
>     Reporter: Max Rydahl Andersen
>     Assignee: Max Rydahl Andersen
>  Attachments: SessionFactoryImpl.java
>
>
> while doing some basic startup perf testing the following were found - this issue is mainly to track what I find, and then fix it:
> Initial tests where 100 classes, 30 sec for buildSessionFactory
> setting hibernate.cglib.use_reflection_optimizer false and it is 10 sec for buildSessionFactory.
> (maybe we should autodetect which jdk we are running on and disable it per default for 1.4/1.5 - needs to validate runtime impact)
> Another (22%) time stealer is the discovery of getter/setters - in worst case it iterates over all declared methods per property.
> (alternatively we could cache/sort this list or make a more efficient implementation if a class only contain default property accessors)
> Other 20% of the time is done in net.sf.cglib related classes for build time enhancement.
> The rest of the time is Configuration creation (can be cached) and other iteration code.
> (p.s. don't take the % numbers as hard values - these are definitly affected by how many methods/classes you have; this underlying tests
> is done on pojos with a "high" method count (approx 100)

-- 
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.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira




More information about the hibernate-issues mailing list