Opened 2 years ago

Closed 2 years ago

#2473 closed enhancement (done)

Automatically hide all columns containing only a single value in the "Table" run collection view

Reported by: gkronber Owned by: gkronber
Priority: medium Milestone: HeuristicLab 3.3.13
Component: Analysis.Views Version: 3.3.12
Keywords: Cc:

Description


Change History (7)

comment:1 Changed 2 years ago by gkronber

  • Owner set to gkronber
  • Status changed from new to accepted

r13036 hiding of columns that have only one single value for all runs in the RunCollectionTableView

comment:2 Changed 2 years ago by gkronber

  • Owner changed from gkronber to abeham
  • Status changed from accepted to reviewing

comment:3 Changed 2 years ago by abeham

  • Owner changed from abeham to gkronber
  • Status changed from reviewing to readytorelease

This is a welcomed change!

I don't know if this is desired behavior, but the current code would keep column A when half of the runs contain column A albeit with the same value and the other half of the run doesn't contain column A in either the parameters or results. I think it's okay that it remains visible.

A few suggestions for performance improvements:

  • We should avoid the pattern of a ContainsKey check followed by an index access and instead use TryGetValue more. This does the same with just one call. Among others this has caused performance problems in NSGA-II's non-dominated sorting.
  • GetNumberOfDistinctValues does more than what you need, you could break early after you've discovered there are at least two different values so you don't always iterate over all runs. To realize this a .Skip(1).Any() would probably be the nicest expression and return that as bool instead of returning the Count().

To be fair, it works reasonably fast with an experiment containing 51,500 runs and 19 columns so I don't see any immediate need for implementing this. You decide.

comment:4 Changed 2 years ago by gkronber

  • Status changed from readytorelease to assigned

comment:5 Changed 2 years ago by gkronber

  • Owner changed from gkronber to abeham
  • Status changed from assigned to reviewing

r13054: improvements as suggested by abeham

comment:6 Changed 2 years ago by abeham

  • Owner changed from abeham to gkronber
  • Status changed from reviewing to readytorelease

Looks good, thanks for improving performance!

comment:7 Changed 2 years ago by gkronber

  • Resolution set to done
  • Status changed from readytorelease to closed

r13063: merged r13036 and r13054 from trunk to stable.

Note: See TracTickets for help on using tickets.