Skip to content

Optimize JavaBeanBinder #16447

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

Closed

Conversation

dreis2211
Copy link
Contributor

Hi,

I'm currently working on some improvements for #16401. While I have some more stuff that I want to try out, there is an optimization possibility in JavaBeanBinder that skips some costly checks, which I want to get out already. This shows the following results when I test it with @wilkinsona's benchmark harness:

Baseline New
14.824 12.224
13.320 12.324
14.376 13.065
14.902 13.218
15.523 12.692
14.849 14.740
13.884 12.450
14.202 15.886
14.793 12.219
15.091 12.556
Mean 14.576 13.137
Range 2.203 3.667

Let me know what you think.
Cheers,
Christoph

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Apr 3, 2019
@philwebb philwebb added theme: performance Issues related to general performance type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged labels Apr 18, 2019
@philwebb
Copy link
Member

I still need to review this but I'll tentatively target to 2.2.x

@philwebb philwebb added this to the 2.2.x milestone Apr 18, 2019
@mbhave
Copy link
Contributor

mbhave commented Apr 22, 2019

This change makes sense to me. We use hasKnownBindableProperties to determine if the getter should be called to get the existing value and that only needs to be done if there is a supplier for the existing value.

@wilkinsona wilkinsona self-assigned this Jul 1, 2019
@wilkinsona wilkinsona modified the milestones: 2.2.x, 2.2.0.M5 Jul 1, 2019
@wilkinsona wilkinsona closed this in 35a178a Jul 1, 2019
@wilkinsona
Copy link
Member

Thanks once again, @dreis2211.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
theme: performance Issues related to general performance type: enhancement A general enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants