uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marshall Schor (JIRA)" <...@uima.apache.org>
Subject [jira] [Commented] (UIMA-5801) Performance degradation of jCas.reset when repeatedly used in different analysisEngines
Date Mon, 25 Jun 2018 20:23:00 GMT

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

View raw message