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.

Reply via email to