From b3fc0443a085a1c2ad9953448e1234791dc50448 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Martins?= Date: Mon, 22 Jun 2015 17:57:47 +0100 Subject: network: Use QList::reserve(), reduces reallocations. Change-Id: Ie0e8cbd28802826206d7e92584b5d56bb844fb09 Reviewed-by: Marc Mutz Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/network/access/qnetworkrequest.cpp | 1 + src/network/kernel/qnetworkinterface.cpp | 2 ++ src/network/ssl/qsslcertificate_openssl.cpp | 3 ++- src/network/ssl/qsslsocket_openssl.cpp | 8 ++++++-- 4 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index 94e2b437b3..558e015ae4 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -919,6 +919,7 @@ QNetworkHeadersPrivate::RawHeadersList QNetworkHeadersPrivate::allRawHeaders() c QList QNetworkHeadersPrivate::rawHeadersKeys() const { QList result; + result.reserve(rawHeaders.size()); RawHeadersList::ConstIterator it = rawHeaders.constBegin(), end = rawHeaders.constEnd(); for ( ; it != end; ++it) diff --git a/src/network/kernel/qnetworkinterface.cpp b/src/network/kernel/qnetworkinterface.cpp index 8d891733ac..2fbbf56e0f 100644 --- a/src/network/kernel/qnetworkinterface.cpp +++ b/src/network/kernel/qnetworkinterface.cpp @@ -108,6 +108,7 @@ QList > QNetworkInterfaceManager::a { QList list = postProcess(scan()); QList > result; + result.reserve(list.size()); foreach (QNetworkInterfacePrivate *ptr, list) result << QSharedDataPointer(ptr); @@ -549,6 +550,7 @@ QList QNetworkInterface::allInterfaces() { QList > privs = manager()->allInterfaces(); QList result; + result.reserve(privs.size()); foreach (const QSharedDataPointer &p, privs) { QNetworkInterface item; item.d = p; diff --git a/src/network/ssl/qsslcertificate_openssl.cpp b/src/network/ssl/qsslcertificate_openssl.cpp index ad88ea5d56..3324587821 100644 --- a/src/network/ssl/qsslcertificate_openssl.cpp +++ b/src/network/ssl/qsslcertificate_openssl.cpp @@ -464,8 +464,9 @@ QList QSslCertificate::extensions() const return result; int count = q_X509_get_ext_count(d->x509); + result.reserve(count); - for (int i=0; i < count; i++) { + for (int i = 0; i < count; i++) { X509_EXTENSION *ext = q_X509_get_ext(d->x509, i); result << QSslCertificatePrivate::convertExtension(ext); } diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 436588afc5..55f0f3dd04 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -1199,7 +1199,9 @@ bool QSslSocketBackendPrivate::startHandshake() } // Translate errors from the error list into QSslErrors. - for (int i = 0; i < errorList.size(); ++i) { + const int numErrors = errorList.size(); + errors.reserve(errors.size() + numErrors); + for (int i = 0; i < numErrors; ++i) { const QPair &errorAndDepth = errorList.at(i); int err = errorAndDepth.first; int depth = errorAndDepth.second; @@ -1761,7 +1763,9 @@ QList QSslSocketBackendPrivate::verify(const QList & } // Translate errors from the error list into QSslErrors. - for (int i = 0; i < errorList.size(); ++i) { + const int numErrors = errorList.size(); + errors.reserve(errors.size() + numErrors); + for (int i = 0; i < numErrors; ++i) { const QPair &errorAndDepth = errorList.at(i); int err = errorAndDepth.first; int depth = errorAndDepth.second; -- cgit v1.2.3