mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Improve caching.
This commit is contained in:
parent
48e32668ec
commit
0518e594ce
@ -440,7 +440,7 @@ void RiaSumoConnector::requestParametersBlobIdForEnsemble( const SumoCaseId& cas
|
|||||||
{
|
{
|
||||||
if ( reply->error() == QNetworkReply::NoError )
|
if ( reply->error() == QNetworkReply::NoError )
|
||||||
{
|
{
|
||||||
parseBlobIds( reply, caseId, ensembleName, "" );
|
parseBlobIds( reply, caseId, ensembleName, "", true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -493,7 +493,7 @@ void RiaSumoConnector::requestBlobIdForEnsemble( const SumoCaseId& caseId, const
|
|||||||
{
|
{
|
||||||
if ( reply->error() == QNetworkReply::NoError )
|
if ( reply->error() == QNetworkReply::NoError )
|
||||||
{
|
{
|
||||||
parseBlobIds( reply, caseId, ensembleName, vectorName );
|
parseBlobIds( reply, caseId, ensembleName, vectorName, false );
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
@ -862,7 +862,11 @@ void RiaSumoConnector::parseRealizationNumbers( QNetworkReply* reply, const Sumo
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RiaSumoConnector::parseBlobIds( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName, const QString& vectorName )
|
void RiaSumoConnector::parseBlobIds( QNetworkReply* reply,
|
||||||
|
const SumoCaseId& caseId,
|
||||||
|
const QString& ensembleName,
|
||||||
|
const QString& vectorName,
|
||||||
|
bool isParameters )
|
||||||
{
|
{
|
||||||
QByteArray result = reply->readAll();
|
QByteArray result = reply->readAll();
|
||||||
reply->deleteLater();
|
reply->deleteLater();
|
||||||
|
@ -119,7 +119,7 @@ public slots:
|
|||||||
void parseCases( QNetworkReply* reply );
|
void parseCases( QNetworkReply* reply );
|
||||||
void parseVectorNames( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName );
|
void parseVectorNames( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName );
|
||||||
void parseRealizationNumbers( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName );
|
void parseRealizationNumbers( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName );
|
||||||
void parseBlobIds( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName, const QString& vectorName );
|
void parseBlobIds( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName, const QString& vectorName, bool isParameters );
|
||||||
|
|
||||||
void requestFailed( const QAbstractOAuth::Error error );
|
void requestFailed( const QAbstractOAuth::Error error );
|
||||||
void parquetDownloadComplete( const QString& blobId, const QByteArray&, const QString& url );
|
void parquetDownloadComplete( const QString& blobId, const QByteArray&, const QString& url );
|
||||||
|
@ -117,29 +117,28 @@ void RimSummaryEnsembleSumo::loadSummaryData( const RifEclipseSummaryAddress& re
|
|||||||
auto sumoCaseId = m_sumoDataSource->caseId();
|
auto sumoCaseId = m_sumoDataSource->caseId();
|
||||||
auto sumoEnsembleName = m_sumoDataSource->ensembleName();
|
auto sumoEnsembleName = m_sumoDataSource->ensembleName();
|
||||||
|
|
||||||
auto key = ParquetKey{ sumoCaseId, sumoEnsembleName, resultText };
|
auto key = ParquetKey{ sumoCaseId, sumoEnsembleName, resultText, false };
|
||||||
|
|
||||||
if ( m_parquetTable.find( key ) == m_parquetTable.end() )
|
if ( m_parquetTable.find( key ) == m_parquetTable.end() )
|
||||||
{
|
{
|
||||||
{
|
auto contents = loadParquetData( key );
|
||||||
auto contents = loadParquetData( key );
|
RiaLogging::debug( QString( "Load Summary Data. Contents size: %1" ).arg( contents.size() ) );
|
||||||
RiaLogging::debug( QString( "Load Summary Data. Contents size: %1" ).arg( contents.size() ) );
|
|
||||||
|
|
||||||
std::shared_ptr<arrow::Table> table = readParquetTable( contents, QString::fromStdString( resultAddress.uiText() ) );
|
std::shared_ptr<arrow::Table> table = readParquetTable( contents, QString::fromStdString( resultAddress.uiText() ) );
|
||||||
m_parquetTable[key] = table;
|
m_parquetTable[key] = table;
|
||||||
|
|
||||||
distributeDataToRealizations( resultAddress, table );
|
distributeDataToRealizations( resultAddress, table );
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
auto parametersKey = ParquetKey{ sumoCaseId, sumoEnsembleName, "", true };
|
||||||
auto contents = m_sumoConnector->requestParametersParquetDataBlocking( sumoCaseId, sumoEnsembleName );
|
if ( m_parquetTable.find( parametersKey ) == m_parquetTable.end() )
|
||||||
RiaLogging::debug( QString( "Load ensemble parameter sensitivities. Contents size: %1" ).arg( contents.size() ) );
|
{
|
||||||
|
auto contents = m_sumoConnector->requestParametersParquetDataBlocking( sumoCaseId, sumoEnsembleName );
|
||||||
|
RiaLogging::debug( QString( "Load ensemble parameter sensitivities. Contents size: %1" ).arg( contents.size() ) );
|
||||||
|
|
||||||
std::shared_ptr<arrow::Table> table =
|
std::shared_ptr<arrow::Table> table = readParquetTable( contents, QString( "%1 parameter sensitivities" ).arg( sumoEnsembleName ) );
|
||||||
readParquetTable( contents, QString::fromStdString( resultAddress.uiText() + " parameter sensitivities" ) );
|
m_parquetTable[parametersKey] = table;
|
||||||
|
|
||||||
distributeParametersDataToRealizations( table );
|
distributeParametersDataToRealizations( table );
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,10 +39,12 @@ struct ParquetKey
|
|||||||
SumoCaseId caseId;
|
SumoCaseId caseId;
|
||||||
QString ensembleId;
|
QString ensembleId;
|
||||||
QString vectorName;
|
QString vectorName;
|
||||||
|
bool isSensitivityParameters;
|
||||||
|
|
||||||
auto operator<=>( const ParquetKey& other ) const
|
auto operator<=>( const ParquetKey& other ) const
|
||||||
{
|
{
|
||||||
return std::tie( caseId, ensembleId, vectorName ) <=> std::tie( other.caseId, other.ensembleId, other.vectorName );
|
return std::tie( caseId, ensembleId, vectorName, isSensitivityParameters ) <=>
|
||||||
|
std::tie( other.caseId, other.ensembleId, other.vectorName, other.isSensitivityParameters );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user