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