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 2017/07/18 16:01:02 UTC

[jira] [Created] (UIMA-5496) uv3 replace FsIndex_set_sorted, apply many fixes to replaced one

Marshall Schor created UIMA-5496:
------------------------------------

             Summary: uv3 replace FsIndex_set_sorted, apply many fixes to replaced one
                 Key: UIMA-5496
                 URL: https://issues.apache.org/jira/browse/UIMA-5496
             Project: UIMA
          Issue Type: Improvement
            Reporter: Marshall Schor
            Assignee: Marshall Schor
            Priority: Minor
             Fix For: 3.0.0SDK-beta


The first implementation of FsIndex_set_sorted assumed the underlying index was implemented by OrderedFsSet_array2.  This did a complex set of tradeoffs that improved insert/remove performance at the expense of more complex iteration. The OrderedFsSet_array2 impl was complex and was buggy (many bugs were removed, though, in this most recent commit).

This implementation was based on "NavigableSet" apis, which required creation of multiple iterators as direction of iteration was reversed, and was quite complex.

This change reverts both of these to a simpler more straight forward implementation, closer to how UIMA v2 did this, but with significant improvements in both iteration and insert/remove.  The underlying OrderedFsSet_array keeps the indexed items for one type in a compacted array, with free space possible at the begin and/or end, and rebalancing done as needed.  The iterator implementation removed several layers of indirection and is now implemented directly on top of the OrderedFsSet_array itself.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)