On Thu, 10 Sep 2020 09:48:07 GMT, yosbits 
<github.com+7517141+yos...@openjdk.org> wrote:

>> Thanks @kevinrushforth, I've changed the title.
>
> I have found that fixing this rudimentary problematic code alleviates your 
> problem.
> 
> **This fix will reduce CPU usage by about 1/3 without your changes.**
> **This fix improves performance in many widespread use cases.**
> 
> However, I'm wondering how to report the problem. Should it be handled in 
> this issue? Should I deal with a new issue
> for a rudimentary issue?
> @kevinrushforth What should i do?
> 
> https://github.com/openjdk/jfx/blob/22d4343fe8563c2931910b98e8f18c6fd4a48f05/modules/javafx.base/src/main/java/com/sun/javafx/collections/ObservableListWrapper.java#L170-L206
> 
> Rewritten so that BitSet is not used.
>  Java
>     @Override
>     public boolean removeAll(Collection<?> c) {
>       if(this.isEmpty() || c.isEmpty()){
>               return false;
>       }
>         beginChange();
>         boolean removed = false;
>         for (int i = size()-1; i>=0; i--) {
>             if (c.contains(get(i))) {
>                 remove(i);
>                 removed = true;
>             }
>         }
>         endChange();
>         return removed;
>     }
> 
>     @Override
>     public boolean retainAll(Collection<?> c) {
>       if(this.isEmpty() || c.isEmpty()){
>               return false;
>       }
>         beginChange();
>         boolean retained = false;
>         for (int i = size()-1; i>=0; i--) {
>             if (!c.contains(get(i))) {
>                 remove(i);
>                 retained = true;
>             }
>         }
>         endChange();
>         return retained;
>     }

@yososs Please file a new JBS issue for this. You will need to prove that your 
proposed change is functionally
equivalent (or that any perceived changes are incidental and still conform to 
the spec). You should also think about
whether your proposed change needs additional tests.

-------------

PR: https://git.openjdk.java.net/jfx/pull/108

Reply via email to