Several performance fixes (#9026)

* #9023 Performance: Use count instead of for loop

* #9023  Analyzer: Cache vector names for categories

* #9023 Performance : Use cached ensemble analyzer

* #9023 Performance : Add min/max values to ensemble statistics

* #9023 Performance : Improve statistics calculator

* #9023 Performance : Use high performance toInt()

* #9023 Performance : Build summary addresses in parallell
This commit is contained in:
Magne Sjaastad
2022-06-07 21:09:36 +02:00
committed by GitHub
parent fa1f189709
commit d36bf11c62
17 changed files with 331 additions and 82 deletions

View File

@@ -981,7 +981,7 @@ void RimSummaryMultiPlot::computeAggregatedAxisRange()
for ( auto axis : plot->plotAxes() )
{
for ( auto curve : plot->summaryAndEnsembleCurves() )
for ( auto curve : plot->summaryCurves() )
{
if ( curve->axisY() == axis->plotAxisType() )
{
@@ -1002,6 +1002,25 @@ void RimSummaryMultiPlot::computeAggregatedAxisRange()
}
}
}
for ( auto curveSet : plot->curveSets() )
{
if ( curveSet->axisY() == axis->plotAxisType() )
{
auto [minimum, maximum] = curveSet->minimumAndMaximumValues();
if ( axisRanges.count( axis->plotAxisType() ) == 0 )
{
axisRanges[axis->plotAxisType()] = std::make_pair( minimum, maximum );
}
else
{
auto& [currentMin, currentMax] = axisRanges[axis->plotAxisType()];
axisRanges[axis->plotAxisType()] =
std::make_pair( std::min( currentMin, minimum ), std::max( currentMax, maximum ) );
}
}
}
}
// set all plots to use the global min/max values for each category