You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Marshall Schor (Jira)" <de...@uima.apache.org> on 2019/10/31 19:03:00 UTC
[jira] [Closed] (UIMA-6136)
FSIndexComparatorImpl.equalsWithoutType() gets slow for many CASes with the
same TS
[ https://issues.apache.org/jira/browse/UIMA-6136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marshall Schor closed UIMA-6136.
--------------------------------
Assignee: Marshall Schor
Resolution: Fixed
> 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
> Assignee: Marshall Schor
> Priority: Minor
> Attachments: 2019-10-21_22-23-37.png, 2019-10-21_22-44-25.png, Uima6136Test.java
>
> Time Spent: 20m
> 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)