From 2d9a2e0d5015deb3d72bf656b9157ff5cbdf206e Mon Sep 17 00:00:00 2001 From: Elena Torro Date: Wed, 4 Feb 2026 11:04:08 +0100 Subject: [PATCH] :wrench: Use swap_remove in flex layout distribution swap_remove is O(1) vs remove's O(n) when order doesn't matter. These loops iterate backwards, so swap_remove is safe. --- render-wasm/src/shapes/modifiers/flex_layout.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/render-wasm/src/shapes/modifiers/flex_layout.rs b/render-wasm/src/shapes/modifiers/flex_layout.rs index 74159dd2e7..72191a32a2 100644 --- a/render-wasm/src/shapes/modifiers/flex_layout.rs +++ b/render-wasm/src/shapes/modifiers/flex_layout.rs @@ -296,7 +296,7 @@ fn distribute_fill_main_space(layout_axis: &LayoutAxis, tracks: &mut [TrackData] track.main_size += delta; if (child.main_size - child.max_main_size).abs() < MIN_SIZE { - to_resize_children.remove(i); + to_resize_children.swap_remove(i); } } } @@ -333,7 +333,7 @@ fn distribute_fill_across_space(layout_axis: &LayoutAxis, tracks: &mut [TrackDat left_space -= delta; if (track.across_size - track.max_across_size).abs() < MIN_SIZE { - to_resize_tracks.remove(i); + to_resize_tracks.swap_remove(i); } } }