Created a pool for parametrized detector objects to avoid excessive calls to...
Created a pool for parametrized detector objects to avoid excessive calls to the new operator in multi-threaded loops. If a cached object already exists and is unique then it's memory is reused rather than reallocating another object. This alleviates some of the locking within threaded loops that was impeding the scaling with the number of cores. There is still something to done with instruments but an issue remains with plottable components. Re #2276
Showing
- Code/Mantid/Framework/DataHandling/src/FindDetectorsInShape.cpp 74 additions, 73 deletions...antid/Framework/DataHandling/src/FindDetectorsInShape.cpp
- Code/Mantid/Framework/DataHandling/test/LoadEmptyInstrumentTest.h 127 additions, 12 deletions...tid/Framework/DataHandling/test/LoadEmptyInstrumentTest.h
- Code/Mantid/Framework/Geometry/inc/MantidGeometry/IComponent.h 4 additions, 5 deletions...Mantid/Framework/Geometry/inc/MantidGeometry/IComponent.h
- Code/Mantid/Framework/Geometry/inc/MantidGeometry/IObjComponent.h 4 additions, 3 deletions...tid/Framework/Geometry/inc/MantidGeometry/IObjComponent.h
- Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/Component.h 11 additions, 14 deletions...mework/Geometry/inc/MantidGeometry/Instrument/Component.h
- Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/Detector.h 1 addition, 8 deletions...amework/Geometry/inc/MantidGeometry/Instrument/Detector.h
- Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/DetectorGroup.h 2 additions, 5 deletions...rk/Geometry/inc/MantidGeometry/Instrument/DetectorGroup.h
- Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/Instrument.h 7 additions, 0 deletions...ework/Geometry/inc/MantidGeometry/Instrument/Instrument.h
- Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/ObjComponent.h 28 additions, 34 deletions...ork/Geometry/inc/MantidGeometry/Instrument/ObjComponent.h
- Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/ParComponentFactory.h 100 additions, 34 deletions...metry/inc/MantidGeometry/Instrument/ParComponentFactory.h
- Code/Mantid/Framework/Geometry/src/IObjComponent.cpp 15 additions, 0 deletionsCode/Mantid/Framework/Geometry/src/IObjComponent.cpp
- Code/Mantid/Framework/Geometry/src/Instrument/CompAssembly.cpp 1 addition, 2 deletions...Mantid/Framework/Geometry/src/Instrument/CompAssembly.cpp
- Code/Mantid/Framework/Geometry/src/Instrument/Component.cpp 33 additions, 32 deletionsCode/Mantid/Framework/Geometry/src/Instrument/Component.cpp
- Code/Mantid/Framework/Geometry/src/Instrument/Detector.cpp 0 additions, 15 deletionsCode/Mantid/Framework/Geometry/src/Instrument/Detector.cpp
- Code/Mantid/Framework/Geometry/src/Instrument/DetectorGroup.cpp 1 addition, 1 deletion...antid/Framework/Geometry/src/Instrument/DetectorGroup.cpp
- Code/Mantid/Framework/Geometry/src/Instrument/Instrument.cpp 20 additions, 18 deletionsCode/Mantid/Framework/Geometry/src/Instrument/Instrument.cpp
- Code/Mantid/Framework/Geometry/src/Instrument/ObjComponent.cpp 0 additions, 6 deletions...Mantid/Framework/Geometry/src/Instrument/ObjComponent.cpp
- Code/Mantid/Framework/Geometry/src/Instrument/ParComponentFactory.cpp 221 additions, 35 deletions...Framework/Geometry/src/Instrument/ParComponentFactory.cpp
- Code/Mantid/Framework/Kernel/inc/MantidKernel/ANN/ANN.h 8 additions, 0 deletionsCode/Mantid/Framework/Kernel/inc/MantidKernel/ANN/ANN.h
Loading
Please register or sign in to comment