-
Notifications
You must be signed in to change notification settings - Fork 168
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: do not create constant pool key eagerly #12124
Conversation
For any change that is supposed to fix performance issues, I strongly recommend also mentioning some measurement of the performance benefit in the commit message so that new maintainers in the future will have a chance of understanding the impact. |
...s/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ConstantPoolPerformanceView.java
Show resolved
Hide resolved
Stops creating a constant pool key eagerly as it was being created 11 times for a simple click listener after each data expression was evaluated. Next step is to also make it not create the MessageDigest over and over again. Part of #7826
The change improves the server side roundtrip processing time for 2000 buttons with click listeners from roughtly 210ms to 130ms (-40%) by not eagerly creating the id using MessageDigest after evaluating each event data expression. Difference to buttons without any click listeners is still about x2 (65ms->130ms).
Done, but need to make sure the details are not cleared from the merge commit message. |
Stops creating a constant pool key eagerly as it was being created 11 times for a simple click listener after each event data expression was evaluated. The change improves the server side roundtrip processing time for 2000 buttons with click listeners from roughly 210ms to 130ms (-40%) by not eagerly creating the id using MessageDigest after evaluating each event data expression. Difference to buttons without any click listeners is still about x2 (65ms->130ms). Next step is to also make it not create the MessageDigest over and over again. Part of #7826
Stops creating a constant pool key eagerly as it was being created 11 times for a simple click listener after each event data expression was evaluated. The change improves the server side roundtrip processing time for 2000 buttons with click listeners from roughly 210ms to 130ms (-40%) by not eagerly creating the id using MessageDigest after evaluating each event data expression. Difference to buttons without any click listeners is still about x2 (65ms->130ms). Next step is to also make it not create the MessageDigest over and over again. Part of #7826
Stops creating a constant pool key eagerly as it was being created 11 times for a simple click listener after each event data expression was evaluated. The change improves the server side roundtrip processing time for 2000 buttons with click listeners from roughly 210ms to 130ms (-40%) by not eagerly creating the id using MessageDigest after evaluating each event data expression. Difference to buttons without any click listeners is still about x2 (65ms->130ms). Next step is to also make it not create the MessageDigest over and over again. Part of #7826 Co-authored-by: Pekka Hyvönen <[email protected]>
Stops creating a constant pool key eagerly as it was being created 11 times for a simple click listener after each event data expression was evaluated. The change improves the server side roundtrip processing time for 2000 buttons with click listeners from roughly 210ms to 130ms (-40%) by not eagerly creating the id using MessageDigest after evaluating each event data expression. Difference to buttons without any click listeners is still about x2 (65ms->130ms). Next step is to also make it not create the MessageDigest over and over again. Part of #7826 Co-authored-by: Pekka Hyvönen <[email protected]>
This ticket/PR has been released with platform 22.0.0.beta1 and is also targeting the upcoming stable 22.0.0 version. |
Stops creating a constant pool key eagerly as it was being created 11
times for a simple click listener after each data expression was evaluated.
Next step is to also make it not create the MessageDigest over and over again.
Part of #7826