[ 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)