mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Improve summary calculation performance
* Only reload calculation data * Make sure performance is good when a calculated object is added or changed - avoid recreation of summary file readers - delete all nodes in address tree representing calculated curves - build address nodes for calculated curves
This commit is contained in:
@@ -56,7 +56,7 @@ public:
|
||||
|
||||
private:
|
||||
int indexFromAddress( const RifEclipseSummaryAddress& resultAddress ) const;
|
||||
void buildMetaData();
|
||||
void buildMetaData() override;
|
||||
|
||||
private:
|
||||
ecl_sum_type* m_ecl_sum;
|
||||
|
||||
@@ -36,7 +36,7 @@ void RifMultipleSummaryReaders::addReader( RifSummaryReaderInterface* reader )
|
||||
|
||||
m_readers.push_back( reader );
|
||||
|
||||
rebuildMetaData();
|
||||
buildMetaData();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -45,7 +45,7 @@ void RifMultipleSummaryReaders::addReader( RifSummaryReaderInterface* reader )
|
||||
void RifMultipleSummaryReaders::removeReader( RifSummaryReaderInterface* reader )
|
||||
{
|
||||
m_readers.erase( reader );
|
||||
rebuildMetaData();
|
||||
buildMetaData();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -100,7 +100,7 @@ RiaDefines::EclipseUnitSystem RifMultipleSummaryReaders::unitSystem() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RifMultipleSummaryReaders::rebuildMetaData()
|
||||
void RifMultipleSummaryReaders::buildMetaData()
|
||||
{
|
||||
m_allErrorAddresses.clear();
|
||||
m_allResultAddresses.clear();
|
||||
|
||||
@@ -40,7 +40,7 @@ public:
|
||||
std::string unitName( const RifEclipseSummaryAddress& resultAddress ) const override;
|
||||
RiaDefines::EclipseUnitSystem unitSystem() const override;
|
||||
|
||||
void rebuildMetaData();
|
||||
void buildMetaData() override;
|
||||
|
||||
private:
|
||||
cvf::Collection<RifSummaryReaderInterface> m_readers;
|
||||
|
||||
@@ -78,7 +78,7 @@ public:
|
||||
RiaDefines::EclipseUnitSystem unitSystem() const override;
|
||||
|
||||
private:
|
||||
void buildMetaData();
|
||||
void buildMetaData() override;
|
||||
bool openFileReader( const QString& fileName, bool includeRestartFiles, RiaThreadSafeLogger* threadSafeLogger );
|
||||
|
||||
static void increaseEsmryFileCount();
|
||||
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
RiaDefines::EclipseUnitSystem unitSystem() const override;
|
||||
|
||||
private:
|
||||
void buildMetaData();
|
||||
void buildMetaData() override;
|
||||
bool openESmryFile( const QString& headerFileName, bool includeRestartFiles, RiaThreadSafeLogger* threadSafeLogger );
|
||||
|
||||
private:
|
||||
|
||||
@@ -54,10 +54,9 @@ public:
|
||||
std::pair<bool, std::vector<double>> values( const RifEclipseSummaryAddress& resultAddress ) const override;
|
||||
std::string unitName( const RifEclipseSummaryAddress& resultAddress ) const override;
|
||||
RiaDefines::EclipseUnitSystem unitSystem() const override;
|
||||
void buildMetaData() override;
|
||||
|
||||
private:
|
||||
void buildMetaData();
|
||||
|
||||
RifSummaryReaderInterface* currentSummaryReader() const;
|
||||
|
||||
private:
|
||||
|
||||
@@ -49,6 +49,13 @@ RifEclipseSummaryAddress RifSummaryReaderInterface::errorAddress( const RifEclip
|
||||
return m_allErrorAddresses.find( errAddr ) != m_allErrorAddresses.end() ? errAddr : RifEclipseSummaryAddress();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RifSummaryReaderInterface::buildMetaData()
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -51,6 +51,8 @@ public:
|
||||
virtual std::string unitName( const RifEclipseSummaryAddress& resultAddress ) const = 0;
|
||||
virtual RiaDefines::EclipseUnitSystem unitSystem() const = 0;
|
||||
|
||||
virtual void buildMetaData();
|
||||
|
||||
protected:
|
||||
std::set<RifEclipseSummaryAddress> m_allResultAddresses; // Result and error addresses
|
||||
std::set<RifEclipseSummaryAddress> m_allErrorAddresses; // Error addresses
|
||||
|
||||
Reference in New Issue
Block a user