diff options
author | Sérgio Martins <sergio.martins@kdab.com> | 2015-06-08 22:56:55 +0100 |
---|---|---|
committer | Sérgio Martins <sergio.martins@kdab.com> | 2015-06-11 13:36:15 +0000 |
commit | 552fba23862d2f2c88bd09202b8c1b5904830128 (patch) | |
tree | 111d169f156598868bb562d903b1aa5a2928174d /src/corelib/io | |
parent | 6b5029199d8eab325992e07fa7c98718c9533ca0 (diff) |
core: Add several QList::reserve() calls.
Reduces reallocations.
Change-Id: Ib63539fb690a80245d8fe81ff8468e79ffa8e57c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/corelib/io')
-rw-r--r-- | src/corelib/io/qresource.cpp | 1 | ||||
-rw-r--r-- | src/corelib/io/qsettings.cpp | 5 | ||||
-rw-r--r-- | src/corelib/io/qurlquery.cpp | 1 |
3 files changed, 6 insertions, 1 deletions
diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp index fbda081114..345f0bd65d 100644 --- a/src/corelib/io/qresource.cpp +++ b/src/corelib/io/qresource.cpp @@ -790,6 +790,7 @@ QStringList QResourceRoot::children(int node) const offset += 4; const int child_off = (tree[offset+0] << 24) + (tree[offset+1] << 16) + (tree[offset+2] << 8) + (tree[offset+3] << 0); + ret.reserve(child_count); for(int i = child_off; i < child_off+child_count; ++i) ret << name(i); } diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp index 251b10ea89..977cc107e7 100644 --- a/src/corelib/io/qsettings.cpp +++ b/src/corelib/io/qsettings.cpp @@ -357,6 +357,7 @@ void QSettingsPrivate::requestUpdate() QStringList QSettingsPrivate::variantListToStringList(const QVariantList &l) { QStringList result; + result.reserve(l.count()); QVariantList::const_iterator it = l.constBegin(); for (; it != l.constEnd(); ++it) result.append(variantToString(*it)); @@ -374,7 +375,9 @@ QVariant QSettingsPrivate::stringListToVariantList(const QStringList &l) outStringList[i].remove(0, 1); } else { QVariantList variantList; - for (int j = 0; j < l.count(); ++j) + const int stringCount = l.count(); + variantList.reserve(stringCount); + for (int j = 0; j < stringCount; ++j) variantList.append(stringToVariant(l.at(j))); return variantList; } diff --git a/src/corelib/io/qurlquery.cpp b/src/corelib/io/qurlquery.cpp index 91e6e21e20..2b695a4f7b 100644 --- a/src/corelib/io/qurlquery.cpp +++ b/src/corelib/io/qurlquery.cpp @@ -642,6 +642,7 @@ QList<QPair<QString, QString> > QUrlQuery::queryItems(QUrl::ComponentFormattingO QList<QPair<QString, QString> > result; Map::const_iterator it = d->itemList.constBegin(); Map::const_iterator end = d->itemList.constEnd(); + result.reserve(d->itemList.count()); for ( ; it != end; ++it) result << qMakePair(d->recodeToUser(it->first, encoding), d->recodeToUser(it->second, encoding)); |