Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-7783

Redundant computation in ObservableList

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.4.6
    • Fix Version/s: 2.4.7
    • Component/s: groovy-runtime
    • Labels:
      None
    • Flags:
      Patch

      Description

      There appears to be redundant computaions in "ObservableList.retainAll"
      methods in version 2.4.6. I have attached a test and proposed a small
      patch which ensures that "contains" method is called on hashset of
      input collection. This patch gives 1739X speed up on my
      machine for the provided test.

      Also, one more possibility to fix the issue is by using TreeSet as suggested in
      https://issues.apache.org/jira/browse/GROOVY-5739 as well.
      Similar patches can be applied for three other methods, ObservableList.removeAll, ObservableSet.retainAll, ObservableSet.removeAll.

        Attachments

        1. ObservableList.patch
          0.4 kB
          Monika Dhok
        2. Test.java
          0.7 kB
          Monika Dhok

          Issue Links

            Activity

              People

              • Assignee:
                jwagenleitner John Wagenleitner
                Reporter:
                monikadhok Monika Dhok
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: