-
Notifications
You must be signed in to change notification settings - Fork 41.2k
Speedup element equality checks in ConfigurationPropertyName #16474
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
Speedup element equality checks in ConfigurationPropertyName #16474
Conversation
Test failure seems unrelated |
@wilkinsona Any chance you find some time to look into this one? Would be highly appreciated. (I'm obviously excited about your thoughts :D ) |
Sure, I'll take a look this week. I did take a bit of look before my Easter break and lacked the brain power for a proper review! |
@dreis2211 Thanks very much for this. I've had the time (and brain power) to hopefully give things a proper review and the changes seem good to me. I spent some time wondering if we needed some more tests, but things already seem to be covered quite nicely by the existing |
Thanks for the review. |
Thanks once again, @dreis2211. The proposed changes have been merged into master. |
@wilkinsona @dreis2211 |
I'm afraid not, no. As announced at the end of 2019, Spring Boot 2.1.x reached the end of its supported life in November 2020. You should upgrade to Spring Boot 2.4.x or 2.5.x at your earliest convenience. |
I see, thanks. |
Hi,
here is another PR that tries to improve the binding of extremely large files as reported in #16401.
There are basically two main ideas behind the proposed changes:
isAncestorOf()
so it is more likely inlined.UNIFORM
,NUMERICALLY_INDEXED
andDASHED
elements. All of thoseElementType
s don't really need any lowercasing or skipping of non alphanumeric chars. Specifically, the first two could benefit from a fast version.DASHED
- described as "almost" uniform - can benefit of a trimmed down version of the current checks as well.The proposed changes provide the following results with @wilkinsona`s benchmark harness:
When running an adjusted version of the JMH benchmarks provided in #15760 I get the following results:
Before
After
Overall, I think these are promising results. Let me know what you think.
Cheers,
Christoph