Ticket #9054 (assigned)
Improve performance when multiple IDF for instrument
Reported by: | Anders Markvardsen | Owned by: | Anders Markvardsen |
---|---|---|---|
Priority: | major | Milestone: | Backlog |
Component: | Framework | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: |
Description
This is based on the observation from #8844 where it was observed that adding an additional SANS2D IDF caused a noticeable increase for the SANS2D systemtests.
Specifically it was observed from https://builds.sns.gov/view/Tests/job/ornl_test_rhel6_develop/System_tests_performance/ that the systemtest SystemTests.SANS2DFrontNoGrav.SANS2DFrontNoGrav saw a noticeable increase at revision 811 (when 2nd SAND2D IDF was added) and exactly the same drop when removed at revision 859. The is also observed for the other SANS2D systemtests, e.g. SystemTests.SANS2DBatch.SANS2DBatch.
The increase in performance is about 3 seconds, this about matches the increase of SystemTests.LoadLotsOfInstruments.LoadLotsOfInstruments and indicates that the entire IDF may be loaded during the process of Mantid deciding which IDF to load.
It is noted that all the SANS2D systemtests would have failed had the new SANS2D IDF been used rather than the old SANS2D IDF, hence the correct select of IDF is made by Mantid.
It should be possible to improve the Mantid code such that it takes less than 3 seconds to decide which of the two SANS2D IDFs to load.
Without looking in detail at the code the recollection is that we are using the SAX parser for investigating IDF dates, however this code may never have been checked for performance.
The purpose of this ticket is to improve the performance of the SANS2D systemtests, which is also expected to cause a performance gain for other instruments.