Re: RFR: 8197991: Selecting many items in a TableView is very slow [v3]

2021-11-26 Thread yosbits
On Fri, 26 Nov 2021 19:44:14 GMT, Abhinay Agarwal  wrote:

>> tests/manual/controls/SelectTableViewTest.java line 19:
>> 
>>> 17: //  final int ROW_COUNT = 80_000;
>>> 18: //  final int ROW_COUNT = 50_000;
>>> 19: //  final int ROW_COUNT = 8_000;
>> 
>> The number is meaningful because it is the number of data I used to show the 
>> improvement effect in the original PR.
>> 
>> Reference value of the number of data that can be handled within 3 seconds 
>> of processing time (before-> after)
>> 
>> TableView
>> 
>> selectAll: 8_000-> 700_000
>> selectRange: 7_000-> 50_000
>> 
>> 
>> 
>> 
>> 
>> ``` Java
>> public class SelectTableViewTest extends Application {
>> 
>>  final int ROW_COUNT = 700_000;
>> //   final int ROW_COUNT = 80_000;
>> //   final int ROW_COUNT = 50_000;
>> //   final int ROW_COUNT = 8_000;
>>  final int COL_COUNT = 3;
>
> I reduced ROW_COUNT from 700_000 to 70_000 as the tests were taking a few 
> seconds to run on my machine. I have reverted these now. Nevertheless, time 
> taken to run a test have a number of variables. Depending on the machine the 
> tests are run, it may not necessarily always take 3 seconds :)

The processing time changes for each operation.
You probably adapted to the slow operation (selectRange).
You can comment it out, but 700_000 is for selectAll. Although it depends on 
the device, the environment I have confirmed is his MacBook Pro in 2016.

-

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


Re: RFR: 8197991: Selecting many items in a TableView is very slow [v3]

2021-11-26 Thread Abhinay Agarwal
On Fri, 26 Nov 2021 13:10:08 GMT, yosbits  wrote:

>> Abhinay Agarwal has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Update ROW_COUNT to 700_000
>
> tests/manual/controls/SelectTableViewTest.java line 19:
> 
>> 17: //  final int ROW_COUNT = 80_000;
>> 18: //  final int ROW_COUNT = 50_000;
>> 19: //  final int ROW_COUNT = 8_000;
> 
> The number is meaningful because it is the number of data I used to show the 
> improvement effect in the original PR.
> 
> Reference value of the number of data that can be handled within 3 seconds of 
> processing time (before-> after)
> 
> TableView
> 
> selectAll: 8_000-> 700_000
> selectRange: 7_000-> 50_000
> 
> 
> 
> 
> 
> ``` Java
> public class SelectTableViewTest extends Application {
> 
>   final int ROW_COUNT = 700_000;
> //final int ROW_COUNT = 80_000;
> //final int ROW_COUNT = 50_000;
> //final int ROW_COUNT = 8_000;
>   final int COL_COUNT = 3;

I reduced ROW_COUNT from 700_000 to 70_000 as the tests were taking a few 
seconds to run on my machine. I have reverted these now. Nevertheless, time 
taken to run a test have a number of variables. Depending on the machine the 
tests are run, it may not necessarily always take 3 seconds :)

-

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


Re: RFR: 8197991: Selecting many items in a TableView is very slow [v3]

2021-11-26 Thread Abhinay Agarwal
> This work improves the performance of `MultipleSelectionModel`  over large 
> data sets by caching some values and avoiding unnecessary calls to 
> `SelectedIndicesList#size`. It further improves the performance by reducing 
> the number of iterations required to find the index of an element in the 
> BitSet.
> 
> The work is based on [an abandoned 
> patch](https://github.com/openjdk/jfx/pull/127) submitted by @yososs
> 
> There are currently 2 manual tests for this fix.

Abhinay Agarwal has updated the pull request incrementally with one additional 
commit since the last revision:

  Update ROW_COUNT to 700_000

-

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/673/files
  - new: https://git.openjdk.java.net/jfx/pull/673/files/3158acd7..8196b348

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=673&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=673&range=01-02

  Stats: 3 lines in 1 file changed: 1 ins; 1 del; 1 mod
  Patch: https://git.openjdk.java.net/jfx/pull/673.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/673/head:pull/673

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


Re: RFR: 8197991: Selecting many items in a TableView is very slow [v2]

2021-11-26 Thread Abhinay Agarwal
On Fri, 26 Nov 2021 12:54:59 GMT, yosbits  wrote:

>> Abhinay Agarwal has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Remove duplicate entry for test data
>
> tests/manual/controls/SelectListViewTest.java line 18:
> 
>> 16: //  final int ROW_COUNT = 10_000_000;
>> 17: // final int ROW_COUNT = 7_000;
>> 18: 
> 
> There is a duplication of the number of test data.
> 
> My test is below.
> 
> ``` Java
> public class SelectListViewTest extends Application {
>   final int ROW_COUNT = 70_000;
> //final int ROW_COUNT = 400_000;
> //final int ROW_COUNT = 10_000_000;
> //final int ROW_COUNT = 7_000;

Thanks. I have fixed this.

-

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


Re: RFR: 8197991: Selecting many items in a TableView is very slow [v2]

2021-11-26 Thread Abhinay Agarwal
> This work improves the performance of `MultipleSelectionModel`  over large 
> data sets by caching some values and avoiding unnecessary calls to 
> `SelectedIndicesList#size`. It further improves the performance by reducing 
> the number of iterations required to find the index of an element in the 
> BitSet.
> 
> The work is based on [an abandoned 
> patch](https://github.com/openjdk/jfx/pull/127) submitted by @yososs
> 
> There are currently 2 manual tests for this fix.

Abhinay Agarwal has updated the pull request incrementally with one additional 
commit since the last revision:

  Remove duplicate entry for test data

-

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/673/files
  - new: https://git.openjdk.java.net/jfx/pull/673/files/05f5df32..3158acd7

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=673&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=673&range=00-01

  Stats: 2 lines in 1 file changed: 0 ins; 1 del; 1 mod
  Patch: https://git.openjdk.java.net/jfx/pull/673.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/673/head:pull/673

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


Re: RFR: 8191995: Regression: DatePicker must commit on focusLost

2021-11-26 Thread Marius Hanl
On Wed, 24 Nov 2021 09:09:53 GMT, Marius Hanl  wrote:

> This PR fixes an issue where the `DatePicker` is not committing his value 
> when the focus is lost. 
> As the ticket also mentions, this is a regression which last worked on JavaFX 
> 8 and got broken by the refactoring: 
> [JDK-8150946](https://bugs.openjdk.java.net/browse/JDK-8150946)
> 
> The fix is to provide the same api  to the `DatePicker` which was introduced 
> by [JDK-8150946](https://bugs.openjdk.java.net/browse/JDK-8150946) for 
> `ComboBox` and `Spinner`.
> 
> Note: While fixing this I found a possible bug which I tracked here: 
> [JDK-8277756](https://bugs.openjdk.java.net/browse/JDK-8277756)
> -> When creating a `DatePicker` with the second constructor (with `LocalDate` 
> as parameter) two listener won't be added since they are only added at the 
> first constructor (That's also why I added the focusProperty listener in the 
> second constructor).

I just finished the CSR. :)

-

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


Integrated: 8276206: Rename TextBinding class to better express its purpose

2021-11-26 Thread Michael Strauß
On Wed, 24 Nov 2021 04:23:59 GMT, Michael Strauß  wrote:

> This PR renames `TextBinding` to `MnemonicInfo` and adds the following text 
> to its javadoc:
> 
>   /**
> 33 +* Provides information about mnemonics contained within a string.

This pull request has now been integrated.

Changeset: fc3792d5
Author:Michael Strauß 
Committer: Jeanette Winzenburg 
URL:   
https://git.openjdk.java.net/jfx/commit/fc3792d5cb39cd3706f28953c3f97bdecc07bba6
Stats: 320 lines in 6 files changed: 146 ins; 146 del; 28 mod

8276206: Rename TextBinding class to better express its purpose

Reviewed-by: kcr, fastegal

-

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


Re: RFR: 8197991: Selecting many items in a TableView is very slow

2021-11-26 Thread yosbits
On Wed, 17 Nov 2021 05:34:46 GMT, Abhinay Agarwal  wrote:

> This work improves the performance of `MultipleSelectionModel`  over large 
> data sets by caching some values and avoiding unnecessary calls to 
> `SelectedIndicesList#size`. It further improves the performance by reducing 
> the number of iterations required to find the index of an element in the 
> BitSet.
> 
> The work is based on [an abandoned 
> patch](https://github.com/openjdk/jfx/pull/127) submitted by @yososs
> 
> There are currently 2 manual tests for this fix.

tests/manual/controls/SelectTableViewTest.java line 19:

> 17: //  final int ROW_COUNT = 80_000;
> 18: //  final int ROW_COUNT = 50_000;
> 19: //  final int ROW_COUNT = 8_000;

The number is meaningful because it is the number of data I used to show the 
improvement effect in the original PR.

Reference value of the number of data that can be handled within 3 seconds of 
processing time (before-> after)

TableView

selectAll: 8_000-> 700_000
selectRange: 7_000-> 50_000





``` Java
public class SelectTableViewTest extends Application {

final int ROW_COUNT = 700_000;
//  final int ROW_COUNT = 80_000;
//  final int ROW_COUNT = 50_000;
//  final int ROW_COUNT = 8_000;
final int COL_COUNT = 3;

-

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


Re: RFR: 8197991: Selecting many items in a TableView is very slow

2021-11-26 Thread yosbits
On Wed, 17 Nov 2021 05:34:46 GMT, Abhinay Agarwal  wrote:

> This work improves the performance of `MultipleSelectionModel`  over large 
> data sets by caching some values and avoiding unnecessary calls to 
> `SelectedIndicesList#size`. It further improves the performance by reducing 
> the number of iterations required to find the index of an element in the 
> BitSet.
> 
> The work is based on [an abandoned 
> patch](https://github.com/openjdk/jfx/pull/127) submitted by @yososs
> 
> There are currently 2 manual tests for this fix.

tests/manual/controls/SelectListViewTest.java line 18:

> 16: //  final int ROW_COUNT = 10_000_000;
> 17: // final int ROW_COUNT = 7_000;
> 18: 

There is a duplication of the number of test data.

My test is below.

``` Java
public class SelectListViewTest extends Application {
final int ROW_COUNT = 70_000;
//  final int ROW_COUNT = 400_000;
//  final int ROW_COUNT = 10_000_000;
//  final int ROW_COUNT = 7_000;

-

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


Re: RFR: 8276206: Rename TextBinding class to better express its purpose

2021-11-26 Thread Jeanette Winzenburg
On Wed, 24 Nov 2021 04:23:59 GMT, Michael Strauß  wrote:

> This PR renames `TextBinding` to `MnemonicInfo` and adds the following text 
> to its javadoc:
> 
>   /**
> 33 +* Provides information about mnemonics contained within a string.

looks good (modulo our disagreement on whether or not to do it at all :)

-

Marked as reviewed by fastegal (Reviewer).

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