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

Reply via email to