[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2093) Optimize getting Id in Seam code for better performance

Mikhail Grushinskiy (JIRA) jira-events at lists.jboss.org
Fri Oct 12 16:43:03 EDT 2007


Optimize getting Id in Seam code for better performance
-------------------------------------------------------

                 Key: JBSEAM-2093
                 URL: http://jira.jboss.com/jira/browse/JBSEAM-2093
             Project: JBoss Seam
          Issue Type: Feature Request
            Reporter: Mikhail Grushinskiy


This sequence of calls (used in PersistenceProvider) is quite slow

Entity.forClass(bean.getClass()).getIdentifier(bean);
	
1) Entity.forClass() is reading annotations using JDK 5 methods (JDK 5 annotation reading is not that fast). Can it be cached?

2) JDK 5 reflection is used to get bean id (which is slower than optmized reflection with cglib)

3) There could be other reasons as well. I think repetitive calling of this sequence under profiler will give better picture.


from PersistenceProvider.java

   /**
    * Get the value of the entity identifier attribute.
    * 
    * @param bean a managed entity instance
    */
   public Object getId(Object bean, EntityManager entityManager)
   {
      return Entity.forClass( bean.getClass() ).getIdentifier(bean);
   }
   
   /**
    * Get the name of the entity
    * 
    * @param bean
    * @param entityManager
    */
   public String getName(Object bean, EntityManager entityManager)
   {
      return Entity.forClass(bean.getClass()).getName();
   }
   
   /**
    * Get the value of the entity version attribute.
    * 
    * @param bean a managed entity instance
    */
   public Object getVersion(Object bean, EntityManager entityManager)
   {
      return Entity.forClass( bean.getClass() ).getVersion(bean);
   }


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list