Closed HeuristicLab-Trac-Bot closed 8 years ago
r13036 hiding of columns that have only one single value for all runs in the RunCollectionTableView
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.
Looks good, thanks for improving performance!
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