Ticket #4759 (assigned)

Opened 9 years ago

Last modified 5 years ago

ParameterMap: Speed up the way masked detectors are recorded (?)

Reported by: Janik Zikovsky Owned by: Anyone
Priority: minor Milestone: Backlog
Component: Framework Keywords:
Cc: Blocked By:
Blocking: Tester:

Description (last modified by Janik Zikovsky) (diff)

Instead of using a "masked" string with key = detector pointer, I suggest that we record masked detectors in the ParameterMap with a simple map:

  • Key = detector ID (not the component ID)
  • Value = true if Masked, false if not masked.

Or, even faster would be a vector, which can be accessed in O(1) time instead of O(log(N)) time.

A third option is to hold a std::set<> of masked detector IDs. Looking them up will be very fast when few detectors are masked, and at worst O(log(N)) if most detectors are masked. It is also safer than the vector (no going out of bounds).

This should speed up instrument view (and others) significantly. Plotting TOPAZ takes 1000 msec + each time it redraws. 800 msec or so are spent looking for masked detectors.

Change History

comment:1 Changed 9 years ago by Janik Zikovsky

  • Description modified (diff)

comment:2 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.1 to Release 2.2

Moved at end of release 2.1

comment:3 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.2 to Release 2.3

comment:4 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.3 to Release 2.4

Moved to release 2.4

comment:5 Changed 8 years ago by Peter Peterson

  • Owner changed from Janik Zikovsky to Anyone
  • Milestone changed from Release 2.4 to Release 2.5

comment:6 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 2.5 to Release 2.6

Moved to r2.6 at the end of r2.5

comment:7 Changed 7 years ago by Nick Draper

  • Component changed from Mantid to Framework

comment:8 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 2.6 to Backlog

Moved to the Backlog after the code freeze for R2.6

comment:9 Changed 7 years ago by Nick Draper

  • Status changed from new to assigned

bulk move to assigned at the into of the triage step

comment:10 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 5606

Note: See TracTickets for help on using tickets.