Access to individual type index iterators
-----------------------------------------
Key: UIMA-1363
URL: https://issues.apache.org/jira/browse/UIMA-1363
Project: UIMA
Issue Type: Improvement
Components: Core Java Framework
Environment: Windows XP, LanguageWare
Reporter: Branimir Lambov
UIMA feature structure iterators for a given type always include its subtypes.
While this is generally the best thing to do, if an application requires more
precise control over the types it needs an ability to iterate over the
instances of a specific type only, leaving the subtypes out. In the current
UIMA this is not possible to achieve.
This is especially important for performance as iterating over an aggregate
index is vastly more complicated than listing an individual index. In certain
real-world scenarios using our AFST engine we are able to achieve close to 20%
performance improvement on complete processing pipelines by simply giving the
AFST type set iterator access to individual type iterators.
The attached patch implements a new "ll_leafIterator()" method in LowLevelIndex
which returns an iterator over the root type of an index. It also includes a
simple alternative to FSIndexRepositoryImpl.PointerIterator for leaf types,
also improving the performance when iterating over leaf types.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.