[
https://issues.apache.org/jira/browse/UIMA-5801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16533149#comment-16533149
]
Marshall Schor commented on UIMA-5801:
--------------------------------------
I would not say they "need" to do this, but in some scenarios, it could be
helpful. I would guess in most common scenarios, it would not be needed, as
the RMs could get cleaned up in other ways. Perhaps the destroy() method could
be thought of as an explicit point in time to free up things, rather than the
arbitrary cleanup time that might (or might not) occur sometime in the future
as part of GC finalization actions, or JVM shutdown. If they do call
destroy(), they need to be aware of possible sharing of RMs, and not call this
if any use is still being made of this RM.
> 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)