uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Bürkle (JIRA) <...@uima.apache.org>
Subject [jira] [Commented] (UIMA-5801) Performance degradation of jCas.reset when repeatedly used in different analysisEngines
Date Tue, 26 Jun 2018 07:55:00 GMT

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

David Bürkle commented on UIMA-5801:
------------------------------------

Hi,

uimafit-core version used is 2.3.0.

Our main use case is to process some data per webservcice call. We pool the JCases (as creation
is slow) and build the Analysis Engine on the fly. We have ten thousands of webservice calls.
For the moment, we can workaround this issue by pooling and reusing the Analysis Engines,
which we didn't bother to do beforehand as AE creation was fast enough.

We have different places in our application where we build AEs on the fly using a JCas Pool.

Regarding other imageable use cases:
 * Building different Analysis Eninges depending on the data to process. I think that in this
case there might exist more elegant approaches and a pool of engines would probably work as
well.
 * Massive parallelization, having many users simultaneously using dozens of AEs

I think it should be possible to reset a JCAS cleanly.

I see no problem having to call a "destroy" method on the AEs.

 

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

Mime
View raw message