RFR: 8273349: Check uses of Stream::peek in controls and replace as needed [v3]
Nir Lisker
nlisker at openjdk.org
Thu Mar 28 22:27:35 UTC 2024
On Thu, 28 Mar 2024 22:21:32 GMT, drmarmac <duke at openjdk.org> wrote:
>> modules/javafx.controls/src/main/java/javafx/scene/control/ControlUtils.java line 166:
>>
>>> 164: sm.startAtomic();
>>> 165:
>>> 166: final List<Integer> removed = new ArrayList<>(c.getRemovedSize());
>>
>> I wonder if we should add a check for 0 size here to bypass all this code and unnecessary object allocations if nothing is removed (same for added)
>
> We certainly could, or maybe use wasRemoved(), but I doubt there will be much impact. I guess it's preferred to keep changes unrelated to the issue minimal, so I'd leave it as it is if everyone's ok with that.
These short circuiting operations tend to be worth it only if it's a critical path. The GC will collect the allocations very efficiently these days. I didn't check what this code segment is used for, but unless it's looped somewhere, I doubt there will by any change.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1430#discussion_r1543793491
More information about the openjfx-dev
mailing list