Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-2270

CDE operating very slowly with IBM Java

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.3.1SDK
    • 2.4.0SDK
    • Core Java Framework
    • None

    Description

      Opening a large set of descriptors in the Configuration Descriptor Editor (CDE) is very slow using IBM Java. Investigation reveals that some caching put in to speed up Java Bean introspection was being done on a per-instance-of-a class basis, instead of on a class basis. The IBM Java appears to create and link a brand-new method.invoke piece of code for each of these instances, which slows down the reflection access approach used by XML parsing and descriptor cloning, considerably.

      Sun Java doesn't seem sensitive to this; they must have some different approach to reflective method invocation.

      Fix this by changing the way Introspection results are cached in MetaDataObject_impl to cache Introspection results just once per Class, instead of once per class instance. This speeds up things by 3x overall (I measured it) in time-to-load a large descriptor into the CDE, and more-or-less matches what Sun Java achieves.

      Attachments

        Activity

          People

            schor Marshall Schor
            schor Marshall Schor
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: