[ https://issues.apache.org/jira/browse/UIMA-6136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16958233#comment-16958233
]
Marshall Schor commented on UIMA-6136:
--------------------------------------
I assigned [~rec] a pull request to test, before I saw you had created a test. I'll take
a look.
> 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
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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)
|