[perf] InjectionResolver.getBeanCacheKey creates many StringBuilder instances
-----------------------------------------------------------------------------

                 Key: OWB-639
                 URL: https://issues.apache.org/jira/browse/OWB-639
             Project: OpenWebBeans
          Issue Type: Improvement
          Components: Core
    Affects Versions: 1.1.4
         Environment: OWB trunk
            Reporter: Martin Kočí
            Assignee: Gurkan Erdogdu
            Priority: Minor


InjectionResolver.getBeanCacheKey(Type, String, Annotation...) creates:

1) calls java.lang.reflect.Type.toString() -> java.lang.Class.toString() : -> 
first StringBuilder
2) StringBuilder cacheKey = new StringBuilder()  -> second StringBuilder
3) java.lang.annotation.Annotation.toString() -> many annotation types (for 
example javax.enterprise.util.AnnotationLiteral.toString())) create toString() 
output with another StringBuilder()  -> third StringBuilder


Questions:
toString() methods are normally non-semantics and produce a debug String 
output. OWB InjectionResolver.getBeanCacheKey uses them to create a key: but 
are toString() really suitable for this? What if two different annotations 
produce same toString output?  Can be a.getClass().getName() used for 3) ?

Can be a small class Key better (in terms of memory allocation and GC 
collection)  in this situation?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to