[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-2867) HIbernate reflection optimization with javassist MUCH slower than in previous versions with cglib

MG (JIRA) noreply at atlassian.com
Thu Oct 4 00:43:24 EDT 2007


     [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

MG updated HHH-2867:
--------------------

    Attachment: ReflectionTest.java

Ok, let me try again...

It does 5000000 invocations in each run

in Run4 using cglib FastClass.invoke

in Run5 using javassist FastClass.invoke

Run5 takes significantly more time.

Run4 time=94ms
vs
Run5 time=17547ms 

Which leads me to believe that javassist reflection optimization would be slower than cglib.

Please, check it yourself by running the code from attachment

Anyway this bug report really is about

hibernate.bytecode.provider=cglib 

being completely ignored in in hibernate.properties 

Thanks


> HIbernate reflection optimization with javassist MUCH slower than in previous versions with cglib
> -------------------------------------------------------------------------------------------------
>
>                 Key: HHH-2867
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2867
>             Project: Hibernate3
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.2.3
>            Reporter: MG
>         Attachments: ReflectionTest.java
>
>
> Hibernate reflection optimization with javassist MUCH slower than in previous versions with cglib,
> and there is no way to set it to use cglib anymore
> I'm setting 
> hibernate.bytecode.provider=cglib
> in hibernate.properties 
> but it is still using javassist
>      [java] 10:42:00,675 INFO  [Version] Hibernate Annotations 3.2.1.GA
>      [java] 10:42:00,722 INFO  [Environment] Hibernate 3.2.3
>      [java] 10:42:00,737 INFO  [Environment] loaded properties from resource hibernate.properties: {hibernate.jdbc.use_streams_for_binary=fal
> se, hibernate.bytecode.use_reflection_optimizer=true, hibernate.bytecode.provider=cglib}
>      [java] 10:42:00,737 INFO  [Environment] using bytecode reflection optimizer
>      [java] 10:42:00,737 INFO  [Environment] Bytecode provider name : javassist
>      [java] 10:42:00,753 INFO  [Environment] using JDK 1.4 java.sql.Timestamp handling
> Please, check sample code in
> http://jira.jboss.com/jira/browse/JBSEAM-1977
> which compares cglib with javassist optimizations
> cglib beats JDK 5 reflection almost 10 times
> javassist performs even slower than JDK 5 reflection

-- 
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