Uploaded image for project: 'Seam 2'
  1. Seam 2
  2. JBSEAM-2001

Use fast optimized API for reading annotations in Seam and Seam RHDS Tools

    Details

    • Type: Feature Request
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Core
    • Labels:
      None

      Description

      Use fast optimized API for reading annotations.

      Seam is using calls to isAnnotationPresent() very frequently and it impacts overall performance and throughput

      backport175 from

      http://backport175.codehaus.org/

      provides API for reading annotations faster than JDK5.

      (They claim in http://fisheye.codehaus.org/browse/backport175/backport175/src/main/org/codehaus/backport175/reader/bytecode/AnnotationReader.java
      as much as 5 times faster)

      Quote:
      // ===========================================================================
      // Implementation notes:
      // Parsing and annotation creation is made in two steps
      //
      // 1. The bytecode is parsed and the annotation content is put in elements,
      // which are stored for later processing
      //
      // 2. Upon annotation access the elements are processed and a dynamic proxy
      // for the annotation is created and cached.
      //
      // This gives much better performance than reflective access of Java 5
      // annotations (reflective access is around 5 times slower)
      // ===========================================================================

      Provide optimizations in Seam for faster annotation reading. Apart from Seam application performance it also can help Seam tools (in RHDS),
      as well as application startup time.

      This behavior can be made optional similarly to hibernate's hibernate.jdbc.use_refection_optimizer

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                mgrouch mgrouch (Inactive)
              • Votes:
                2 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: