[ 
https://issues.apache.org/jira/browse/GROOVY-7783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15244989#comment-15244989
 ] 

ASF GitHub Bot commented on GROOVY-7783:
----------------------------------------

GitHub user jwagenleitner opened a pull request:

    https://github.com/apache/groovy/pull/314

    GROOVY-7783 - Redundant computation in ObservableList

    Patch provided thanks to Monika Dhok.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jwagenleitner/groovy GROOVY-7783

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/groovy/pull/314.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #314
    
----
commit b20eaafa82d9ed70995c47ddbb449ed7c081a66f
Author: John Wagenleitner <[email protected]>
Date:   2016-04-17T23:48:25Z

    GROOVY-7783 - Redundant computation in ObservableList
    
    Patch provided thanks to Monika Dhok.

----


> Redundant computation in ObservableList
> ---------------------------------------
>
>                 Key: GROOVY-7783
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7783
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-runtime
>    Affects Versions: 2.4.6
>            Reporter: Monika Dhok
>         Attachments: ObservableList.patch, Test.java
>
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to