heal-research / HeuristicLab

HeuristicLab - An environment for heuristic and evolutionary optimization
https://dev.heuristiclab.com
GNU General Public License v3.0
34 stars 16 forks source link

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

Closed HeuristicLab-Trac-Bot closed 8 years ago

HeuristicLab-Trac-Bot commented 9 years ago

Issue migrated from trac ticket # 2473

milestone: HeuristicLab 3.3.13 | component: Analysis.Views | priority: medium | resolution: done

2015-09-03 07:19:10: @gkronber created the issue

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-19 17:25:03: @gkronber changed status from new to accepted

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-19 17:25:03: @gkronber removed owner

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-19 17:25:03: @gkronber commented


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

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-19 17:25:27: @gkronber changed status from accepted to reviewing

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-19 17:25:27: @gkronber changed owner from @gkronber to @abeham

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-21 22:40:11: @abeham changed status from reviewing to readytorelease

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-21 22:40:11: @abeham changed owner from @abeham to @gkronber

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-21 22:40:11: @abeham commented


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.

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-22 10:52:18: @gkronber changed status from readytorelease to assigned

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-22 19:49:43: @gkronber changed status from assigned to reviewing

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-22 19:49:43: @gkronber changed owner from @gkronber to @abeham

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-22 19:49:43: @gkronber commented


r13054: improvements as suggested by abeham

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-22 22:54:36: @abeham changed status from reviewing to readytorelease

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-22 22:54:36: @abeham changed owner from @abeham to @gkronber

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-22 22:54:36: @abeham commented


Looks good, thanks for improving performance!

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-26 18:31:44: @gkronber changed status from readytorelease to closed

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-26 18:31:44: @gkronber removed resolution

HeuristicLab-Trac-Bot commented 8 years ago

2015-10-26 18:31:44: @gkronber commented


r13063: merged r13036 and r13054 from trunk to stable.