[ 
https://issues.apache.org/jira/browse/UIMA-5801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16525169#comment-16525169
 ] 

Marshall Schor commented on UIMA-5801:
--------------------------------------

OK.  For now, how about this Jira implements a "cleanup" of the slowing growing 
hashmap in the following way:
 # The UIMA ClassLoader will have a flag "isClosed()" set when it is closed
 ## See UIMA-5797
 # The CAS reset code for JCas will remove entries from the table if the 
associated class loader is a UIMA Class loader which has been "closed".

To make use of this fix, the user will need to call the destroy() method on the 
associated Resource Manager for the Analysis Engine uimaFIT created.

Note that this not as good a solution as reusing the resource manager in this 
particular use case (if it can be reused?), because it is continually creating 
and destroying resource managers. 

> Performance degradation of jCas.reset when repeatedly used in different 
> analysisEngines
> ---------------------------------------------------------------------------------------
>
>                 Key: UIMA-5801
>                 URL: https://issues.apache.org/jira/browse/UIMA-5801
>             Project: UIMA
>          Issue Type: Bug
>          Components: UIMA
>    Affects Versions: 2.1
>            Reporter: David Bürkle
>            Assignee: Marshall Schor
>            Priority: Major
>         Attachments: JCasPerformanceTest.java
>
>
> The execution time of jCas.reset() increases linearly when invoked on the 
> same jCas.
> This occurs in a loop that builds a new analysisEngine, processes the jCas 
> and resets it.
> This does not occur when the same analysisEngine is reused.
> A junit test demonstrating the behaviour is attatched.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to