Ticket #191 (closed: fixed)

Opened 12 years ago

Last modified 5 years ago

Improve ManagedWorkspace2D performance

Reported by: Nick Draper Owned by:
Priority: major Milestone: Iteration 20
Component: Keywords:
Cc: Blocked By:
Blocking: Tester:

Description

Is there anything we can do here?

Change History

comment:1 Changed 12 years ago by Nick Draper

  • Owner set to Russell Taylor

comment:2 Changed 12 years ago by Russell Taylor

(In [1263]) There was a potential problem with iterator invalidation in GroupDetectors when it's used with a ManagedWorkspace2D. This change fixes that for now. Also thanks to Roman for spotting a small bug in ManagedWorkspace2D. Re #191.

comment:3 Changed 12 years ago by Russell Taylor

In fixing the problem with GroupDetectors (above), it became apparent that the most-recently-used list utilised in ManagedWorkspace2D is not behaving as expected. When grouping, you loop over a load of spectra adding them into one spectrum. Yet that one spectrum, which is called every time you go through the loop, can still drop off the bottom of the list (and out of memory) - which it shouldn't.

Also, when running DiffractionFocussing, ManagedWorkspace appeared to be reading in from file far more than I would instinctively expect it to - something to investigate further.

Incidentally, the specific problem in GroupDetectors was that we got an iterator to the first spectrum, then one to the second one, which pushed the first out of memory so its iterator was no longer valid.

comment:4 Changed 12 years ago by Nick Draper

  • Owner Russell Taylor deleted
  • Milestone changed from Iteration 11 to Unassigned

comment:5 Changed 12 years ago by Nick Draper

  • Status changed from new to closed
  • Resolution set to fixed

performance seems good enough for now

comment:6 Changed 7 years ago by Nick Draper

  • Milestone changed from Unassigned to Iteration 20

comment:7 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 1039

Note: See TracTickets for help on using tickets.