From 0cd11c710225144c851bd9084ec95cced5ce321c Mon Sep 17 00:00:00 2001 From: anyulled <100741+anyulled@users.noreply.github.com> Date: Fri, 24 Apr 2026 08:40:13 +0000 Subject: [PATCH] feat: Optimize schedule filtering using Set lookups Replaces O(N) Array.includes() with O(1) Set.has() during the schedule filtering operation to improve performance. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> --- components/schedule/ScheduleContainer.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/schedule/ScheduleContainer.tsx b/components/schedule/ScheduleContainer.tsx index 33d877a4..805289b1 100644 --- a/components/schedule/ScheduleContainer.tsx +++ b/components/schedule/ScheduleContainer.tsx @@ -20,7 +20,9 @@ export default function ScheduleContainer({ initialSchedule, year }: Readonly sessions.filter((s) => savedSessionIds.includes(s.id) || s.isServiceSession); + // Convert savedSessionIds to a Set to improve lookup performance from O(N) to O(1) + const savedIdsSet = new Set(savedSessionIds); + const filterSessions = (sessions: GridSession[]) => sessions.filter((s) => savedIdsSet.has(s.id) || s.isServiceSession); return initialSchedule.map((day) => ({ ...day,