Perf: Remove redundant map lookups in CustomTierSelectorStrategy comparator#19052
Conversation
Just use get() rather than containsKey() multiple times along with .get().
GWphua
left a comment
There was a problem hiding this comment.
LGTM, regardless of the answer to the question below.
How much of a performance boost is this, given that it's looking up a hashmap?
|
Thanks for taking a look, @GWphua!
I didn’t benchmark this change. It should remove about 2–3 unnecessary map lookups per query. |
|
I got curious about the performance improvement and ran a quick benchmark. With this lookup access pattern, we see a good ~18–20% speed up on average - CustomTierSelectorComparatorBenchmark.java. I did a quick spot check in other areas of the codebase and there seems to be a few other occurrences where we can simply do |
Avoid repeated
containsKey()andget()calls by retrieving each map value once and using null checks instead. This reduces redundant lookups and simplifies the comparator logic.This PR has: