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

Steve Ebersole (JIRA) noreply at atlassian.com
Thu Oct 4 06:56:24 EDT 2007


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

Steve Ebersole closed HHH-2867.
-------------------------------

    Resolution: Rejected

Oh, and btw; have you actually looked at the code for org.hibernate.bytecode.javassist.FastClass?  Might help you understand why what you are doing is so slow ;)

Note that we do not use that org.hibernate.bytecode.javassist.FastClass#invoke method, nor is it really intended for use (he just added it for completeness compared to the cglib API).  If you seriously want to do this, you would need to write the necessary calls to the javassist APIs to actually create the optimization code (ala the 'fast method').

> 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