[
https://issues.apache.org/jira/browse/UIMA-5046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15413376#comment-15413376
]
Richard Eckart de Castilho commented on UIMA-5046:
--------------------------------------------------
New implementation typically about twice as fast as old one.
Leaving this issue open for the moment in case the randomized unit test
uncovers problems.
Reminder: before closing
* clean up code to remove debugging lines in CasUtil.indexCovered(CAS, Type,
Type)
* remove alternative purge method in CasUtil.indexCovered(CAS, Type, Type)
* reduce iterations in JCasUtilTest.testSelectCoverRandom() back to 10.
> Faster indexCovered implementation
> ----------------------------------
>
> Key: UIMA-5046
> URL: https://issues.apache.org/jira/browse/UIMA-5046
> Project: UIMA
> Issue Type: Improvement
> Components: uimaFIT
> Reporter: Richard Eckart de Castilho
> Assignee: Richard Eckart de Castilho
> Fix For: 2.3.0uimaFIT
>
>
> CasUtil.indexCovered() currently uses a quite naive approach of going over
> all of the covering candidate annotations and calling selectCovered for each
> of them. This can be done smarter by iterating simultaneously over the
> covering and covered type while maintaining a memory in which only the
> potentially covering annotations are maintained and compared against the
> covered annotations. Any annotation of the covering type can be purged from
> this memory once it cannot match any covering annotation anymore. This
> approach exploits the sort order inherent in the annotation index.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)