QHttpHeaders: reserve memory for headers when creating from a container
To avoid any potential resizes during append looping Task-number: QTBUG-119002 Change-Id: I8f4c391f05b5c5bd0b48a4f17b11996652006508 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
This commit is contained in:
parent
11b19b3341
commit
0bfec6cd11
@ -528,6 +528,7 @@ QHttpHeaders::QHttpHeaders() : d(new QHttpHeadersPrivate)
|
|||||||
QHttpHeaders QHttpHeaders::fromListOfPairs(const QList<std::pair<QByteArray, QByteArray>> &headers)
|
QHttpHeaders QHttpHeaders::fromListOfPairs(const QList<std::pair<QByteArray, QByteArray>> &headers)
|
||||||
{
|
{
|
||||||
QHttpHeaders h;
|
QHttpHeaders h;
|
||||||
|
h.d->headers.reserve(headers.size());
|
||||||
for (const auto &header : headers)
|
for (const auto &header : headers)
|
||||||
h.append(header.first, header.second);
|
h.append(header.first, header.second);
|
||||||
return h;
|
return h;
|
||||||
@ -542,6 +543,7 @@ QHttpHeaders QHttpHeaders::fromListOfPairs(const QList<std::pair<QByteArray, QBy
|
|||||||
QHttpHeaders QHttpHeaders::fromMultiMap(const QMultiMap<QByteArray, QByteArray> &headers)
|
QHttpHeaders QHttpHeaders::fromMultiMap(const QMultiMap<QByteArray, QByteArray> &headers)
|
||||||
{
|
{
|
||||||
QHttpHeaders h;
|
QHttpHeaders h;
|
||||||
|
h.d->headers.reserve(headers.size());
|
||||||
for (const auto &[name,value] : headers.asKeyValueRange())
|
for (const auto &[name,value] : headers.asKeyValueRange())
|
||||||
h.append(name, value);
|
h.append(name, value);
|
||||||
return h;
|
return h;
|
||||||
@ -556,6 +558,7 @@ QHttpHeaders QHttpHeaders::fromMultiMap(const QMultiMap<QByteArray, QByteArray>
|
|||||||
QHttpHeaders QHttpHeaders::fromMultiHash(const QMultiHash<QByteArray, QByteArray> &headers)
|
QHttpHeaders QHttpHeaders::fromMultiHash(const QMultiHash<QByteArray, QByteArray> &headers)
|
||||||
{
|
{
|
||||||
QHttpHeaders h;
|
QHttpHeaders h;
|
||||||
|
h.d->headers.reserve(headers.size());
|
||||||
for (const auto &[name,value] : headers.asKeyValueRange())
|
for (const auto &[name,value] : headers.asKeyValueRange())
|
||||||
h.append(name, value);
|
h.append(name, value);
|
||||||
return h;
|
return h;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user