Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-5496

uv3 replace FsIndex_set_sorted, apply many fixes to replaced one

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 3.0.0SDK-beta
    • None
    • None

    Description

      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.

      Attachments

        Activity

          People

            schor Marshall Schor
            schor Marshall Schor
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: