Any performance tips when using operators?
I have a table with ~1000 rows, and each row has an associated Schedule. I would like to do real-time filtering on these rows by hiding rows which have schedules that interfere (intersect) with certain user-selected rows. Currently my code looks something like this (run on each row during filtering):
const intersections = currentRow.parsedTime.pipe(
intersection({
streams: getSchedulesFromRows(savedRows), // simple memoized .reduce on rows
maxFailedIterations: 50
})
);
const doesInterfere = intersections.firstDate !== null;
Execution time for this filter is on the order of 2.5 - 3 seconds, while my other filters execute in 10 - 30ms. Do you know if there's any quick rSchedule-specific optimizations I could make here?