From e0a674a5f5735e964d28af3d704757862f74e0b3 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Wed, 17 Feb 2010 10:37:13 +0100 Subject: QNAM HTTP: More micro optimization in QHttpNetworkRequest Reviewed-by: Zeno Albisser --- src/network/access/qhttpnetworkrequest.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/network/access/qhttpnetworkrequest.cpp b/src/network/access/qhttpnetworkrequest.cpp index fd1aa22..9eb2399 100644 --- a/src/network/access/qhttpnetworkrequest.cpp +++ b/src/network/access/qhttpnetworkrequest.cpp @@ -131,7 +131,11 @@ QByteArray QHttpNetworkRequestPrivate::uri(bool throughProxy) const QByteArray QHttpNetworkRequestPrivate::header(const QHttpNetworkRequest &request, bool throughProxy) { - QByteArray ba = request.d->methodName(); + QList > fields = request.header(); + QByteArray ba; + ba.reserve(40 + fields.length()*25); // very rough lower bound estimation + + ba += request.d->methodName(); ba += ' '; ba += request.d->uri(throughProxy); @@ -141,9 +145,9 @@ QByteArray QHttpNetworkRequestPrivate::header(const QHttpNetworkRequest &request ba += QByteArray::number(request.minorVersion()); ba += "\r\n"; - QList > fields = request.header(); QList >::const_iterator it = fields.constBegin(); - for (; it != fields.constEnd(); ++it) { + QList >::const_iterator endIt = fields.constEnd(); + for (; it != endIt; ++it) { ba += it->first; ba += ": "; ba += it->second; -- cgit v0.12