Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Windows XP, LanguageWare
Description
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.
Attachments
Attachments
Issue Links
- is part of
-
UIMA-1366 Binary heap annotation iterator implementation
-
- Closed
-