🔧 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.
This commit is contained in:
Elena Torro
2026-02-04 11:04:08 +01:00
parent 216d400262
commit 2d9a2e0d50

View File

@@ -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);
}
}
}