[
https://issues.apache.org/jira/browse/UIMA-6136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16958143#comment-16958143
]
Richard Eckart de Castilho commented on UIMA-6136:
--------------------------------------------------
Btw, in the test you see that the initialization time for the CAS increases the
more CASes there are and if you run this with VisualVM or some other profiler,
you should see that most time is being spent in the sharing code.
> FSIndexComparatorImpl.equalsWithoutType() gets slow for many CASes with the
> same TS
> -----------------------------------------------------------------------------------
>
> Key: UIMA-6136
> URL: https://issues.apache.org/jira/browse/UIMA-6136
> Project: UIMA
> Issue Type: Bug
> Components: UIMA
> Affects Versions: 3.1.0SDK
> Reporter: Richard Eckart de Castilho
> Priority: Minor
> Attachments: 2019-10-21_22-23-37.png, 2019-10-21_22-44-25.png,
> Uima6136Test.java
>
>
> When creating several hundred CASes with the same type system, the
> `shareExisting` mechanism which is designed to save on memory starts eating
> into CPU time quite a lot.
> This screenshot shows that in my particular case, the method is called ~11mio
> times and takes the bulk of the processing time. The call hierarchy is a bit
> messed up though - actually this happens when the CASes are initialized.
> !2019-10-21_22-44-25.png|width=100%!
> The second screenshot shows the actual call hierarchy, but for some reason,
> the profile doesn't properly dive into the `equals` method here and doesn't
> count the time spent in `equalsWithoutType`.
> !2019-10-21_22-23-37.png|width=100%!!
> So either the method shouldn't be called that often - or - it should be way
> faster.
> In the example, I have like 1800 CAS instances and their type system has
> upwards of 200 types.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)