-
Notifications
You must be signed in to change notification settings - Fork 729
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Grid initial render performance #10579
Conversation
Review status: 0 of 3 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed. client/src/main/java/com/vaadin/client/widgets/Grid.java, line 6575 at r2 (raw file):
This is not using the correct index. causes issues in some tests. Comments from Reviewable |
Compared with 8.2.1 this patch would already improve the first time rendering duration.
|
Had to refactor some parts of the Grid setup to fix all the race condition -style issues. In the meantime I may have gotten it a bit faster still. Can you test again? |
Sure can do ... let me fire up Maven.
Will retry the with a clean local Maven repository tomorrow to make sure. |
ba62b34
to
6f6f6c0
Compare
All the tests are once again passing and some of the bit more fragile parts of the Grid should be a bit "sturdier" now. I'll run some performance tests on my end but would be nice to get comparable results to earlier reports here if it's not too much to ask. That will tell me if I need to go back and trace out more loose ends from the Grid or is this is a good enough improvement to merge and investigate more a bit later |
Will pull the latest changes and rerun the tests posting results. Here are two runs with the latest commit [0675ba0]:
|
Reviewed 1 of 3 files at r1, 1 of 2 files at r8, 2 of 2 files at r9. client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 322 at r9 (raw file):
Are you sure in this client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 334 at r9 (raw file):
To be removed client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 348 at r9 (raw file):
To be removed client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 468 at r9 (raw file):
To be removed client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 522 at r9 (raw file):
Doesn't it prevent column reordering is some situation? client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 545 at r9 (raw file):
2nn column list scan. Definitely, here is a room for optimization. Not a blocker. client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 565 at r9 (raw file):
Code style issue: Parameter is modified client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 577 at r9 (raw file):
The method name and the javadoc are misleading. client/src/main/java/com/vaadin/client/widgets/Grid.java, line 6578 at r9 (raw file):
might be simplified a little: Comments from Reviewable |
Review status: all files reviewed at latest revision, 7 unresolved discussions. client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 322 at r9 (raw file): Previously, elmot (Ilia Motornyi) wrote…
The Columns are removed from the map The client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 522 at r9 (raw file): Previously, elmot (Ilia Motornyi) wrote…
This block is only executed when all columns listed in the column order are available in the column map -> all new columns have been added Comments from Reviewable |
Review status: all files reviewed at latest revision, 6 unresolved discussions. client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 334 at r9 (raw file): Previously, elmot (Ilia Motornyi) wrote…
Done. client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 348 at r9 (raw file): Previously, elmot (Ilia Motornyi) wrote…
Done. client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 468 at r9 (raw file): Previously, elmot (Ilia Motornyi) wrote…
Done. client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 565 at r9 (raw file): Previously, elmot (Ilia Motornyi) wrote…
Done. client/src/main/java/com/vaadin/client/connectors/grid/GridConnector.java, line 577 at r9 (raw file): Previously, elmot (Ilia Motornyi) wrote…
Done. client/src/main/java/com/vaadin/client/widgets/Grid.java, line 6578 at r9 (raw file): Previously, elmot (Ilia Motornyi) wrote…
Done. Comments from Reviewable |
Reviewed 3 of 3 files at r10. Comments from Reviewable |
This patch removes unnecessary scheduled commands
Adding multiple columns is batched in both GridConnector and Grid
Removed unnecessary size calculations
This change is