From 12e098de980be6b9f65fbb114c075f39cb8db2dc Mon Sep 17 00:00:00 2001 From: Carson Sears Date: Mon, 28 Apr 2025 08:12:08 -0500 Subject: [PATCH] Fix performance issue with groupDetectors2 --- Framework/DataHandling/src/GroupDetectors2.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Framework/DataHandling/src/GroupDetectors2.cpp b/Framework/DataHandling/src/GroupDetectors2.cpp index 011c80c23afb..d051636a6dc8 100644 --- a/Framework/DataHandling/src/GroupDetectors2.cpp +++ b/Framework/DataHandling/src/GroupDetectors2.cpp @@ -1010,6 +1010,13 @@ size_t GroupDetectors2::formGroupsEvent(const DataObjects::EventWorkspace_const_ // Start fresh with no detector IDs outEL.clearDetectorIDs(); + // Reserve space for the event list + std::size_t totalEvents = 0; + for (auto i : it->second) { + totalEvents += inputWS->getSpectrum(i).getNumberEvents(); + } + outEL.reserve(totalEvents); + // the Y values and errors from spectra being grouped are combined in the // output spectrum // Keep track of number of detectors required for masking