[
https://issues.apache.org/jira/browse/UIMA-5801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16522767#comment-16522767
]
Marshall Schor commented on UIMA-5801:
--------------------------------------
I got this test case to go, and can see the behavior. When I run the
testJCasResetPerformanceConstant test, there's no increase; when I run the
testJCasResetPerformanceLinearIncreasing, there's a gradual increase.
The difference: in the good case the loop does:
(uimaFIT) JCasFactory.createJCas(),
(uimaFIT) analysisEngineDescription =
AnalysisEngineFactory.createEngineDescription(Annotator.class);
(uimaFIT) analysisEngine =
AnalysisEngineFactory.createEngine(analysisEngineDescription);
run a loop, resetting the JCas
The bad case: the loop involves re-creating the analysisEngine.
I'm not sure how uimaFIT "hooks up" the JCas to the analysisEngine. I'm
guessing something happens with multiple analysisEngines lying around, that
might not get GC'd, that gradually makes JCas reset take longer.
[~rec] Any ideas?
> 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)