mirror of
https://github.com/OPM/ResInsight.git
synced 2026-09-03 20:53:13 -05:00
* Add performance unit test for RimEnsembleCurveFilter::applyFilter * Fix O(N^2) scaling in RimEnsembleCurveFilter::applyFilter RimEnsembleCurveSet::objectiveFunctionTimeConfig() was called once per summary case inside the applyFilter() loop, for both the OBJECTIVE_FUNCTION and SUMMARY_VALUE filter modes. Internally it calls allAvailableTimeSteps(), which scans the full time series of every case in the ensemble, so recomputing it per case turned applyFilter() into an O(caseCount^2) operation. * Avoid redundant allAvailableTimeSteps() calls in fullTimeStepRange() fullTimeStepRange() called allAvailableTimeSteps() three times (once for the empty check, once for min, once for max), each re-scanning the full time series of every case in the ensemble. Compute it once and reuse the result. Also simplify allAvailableTimeSteps() to insert time steps directly into the result set instead of collecting them into an intermediate vector first.