On Sun, 29 Aug 2021 04:12:22 GMT, Michael Strauß <mstra...@openjdk.org> wrote:

> This PR fixes a bug that was introduced in #454.
> 
> Since this fix might impact the performance considerations in the original 
> PR, I ran a performance benchmark against the previous `ChangeListener`-based 
> implementation, which still shows better performance for the new 
> implementation:
> 
> 
> @State(Scope.Benchmark)
> public class BindingBenchmark {
>     DoubleProperty property1 = new SimpleDoubleProperty();
>     DoubleProperty property2 = new SimpleDoubleProperty();
> 
>     public BindingBenchmark() {
>         property2.bindBidirectional(property1);
>     }
> 
>     @Benchmark
>     public void benchmark() {
>         for (int i = 0; i < 10000000; ++i) {
>             property1.set((i % 2 == 0) ? 12345.0 : 54321.0);
>         }
>     }
> }
> 
> 
> | Benchmark | Mode | Cnt | Score | Error | Units |
> |-----------|------|-----|-------|-------|--------|
> | ChangeListener | thrpt | 5 | 7.463 | 0.040 | ops/s |
> | InvalidationListener (fixed) | thrpt | 5 | 15.095 | 0.092 | ops/s |

Am I correct in assuming that, as is, this PR is only going to be merged into 
openJFX 18 ?
If so, because it addresses a regression introduced in jfx 17, we'll probably 
want to have this one in 17 as well on day one, if its not too late.

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

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

Reply via email to