summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <[email protected]>2025-06-26 11:55:14 +0200
committerMarc Mutz <[email protected]>2025-06-27 17:21:46 +0200
commitafae4957d675c733cd06185194f72624096b29bd (patch)
tree0c486c843fa87fea66bcf8bf32e70147104b0aca
parentf987e2bcb2be5959b1f80999bfe910d80c80a740 (diff)
QFactoryLoader: reserve() two QListsHEADdev
Either of them may see additional append()s after the first loop, but we can at least skip the first few reallocations by reserving d->library.size(). Pick-to: 6.10 6.9 Change-Id: I1c2ccdc47444657957dd593a76d75fe210536b5b Reviewed-by: Thiago Macieira <[email protected]>
-rw-r--r--src/corelib/plugin/qfactoryloader.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp
index 54349359113..835f2d97f3e 100644
--- a/src/corelib/plugin/qfactoryloader.cpp
+++ b/src/corelib/plugin/qfactoryloader.cpp
@@ -490,6 +490,7 @@ QFactoryLoader::MetaDataList QFactoryLoader::metaData() const
QList<QPluginParsedMetaData> metaData;
#if QT_CONFIG(library)
QMutexLocker locker(&d->mutex);
+ metaData.reserve(qsizetype(d->libraries.size()));
for (const auto &library : d->libraries)
metaData.append(library->metaData);
locker.unlock();
@@ -515,6 +516,7 @@ QList<QCborArray> QFactoryLoader::metaDataKeys() const
QList<QCborArray> metaData;
#if QT_CONFIG(library)
QMutexLocker locker(&d->mutex);
+ metaData.reserve(qsizetype(d->libraries.size()));
for (const auto &library : d->libraries) {
const QCborValue md = library->metaData.value(QtPluginMetaDataKeys::MetaData);
metaData.append(md["Keys"_L1].toArray());