CDE operating very slowly with IBM Java
---------------------------------------
Key: UIMA-2270
URL: https://issues.apache.org/jira/browse/UIMA-2270
Project: UIMA
Issue Type: Bug
Components: Core Java Framework
Affects Versions: 2.3.1SDK
Reporter: Marshall Schor
Assignee: Marshall Schor
Fix For: 2.4.0SDK
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.
--
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