Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: meas_base
-
Labels:None
-
Story Points:2
-
Team:Architecture
-
Urgent?:No
Description
DM-35206 showed that exception handling in measurement plugins is not very efficient on some architectures and is generally thought of as being a bad idea for flow control.
meas_extensions_trailedSources uses SdssCentroid in its tests and this can be very slow on M1 architectures.
This ticket is to reduce the usage of MeasurementError in SdssCentroid to improve performance.
I have reworked all the code in meas_base to use flags rather than raising MeasurementError.
Here are the timings of a single meas_extensions_trailedSources:testMonteCarlo before and after this ticket branch:
Linux does not seem to notice any improvement but there has been a slight improvement on Intel macOS and now M1 is competitive. A profile on macOS M1 now shows no hotspot.