summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2021-07-12 08:17:07 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-07-13 20:03:42 +0000
commit7283f0ac2ac451fb0a2d6980cde1e6d82a70df49 (patch)
tree828b547e5de49c633b764ddb11fadbb85b6653b7
parent513302e4a54aa70735b5dd728db40f67b6b8116c (diff)
QDuplicateTracker: reserve() for at least Prealloc elements
We have space for so many elements, so reserve()ing anything less makes no sense. Change-Id: I84d692b10a6a491c37661f84aa3fdd9af43d71e5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 16db1d21659793909bd1719805d7ff8de6906f88) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/corelib/tools/qduplicatetracker_p.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/corelib/tools/qduplicatetracker_p.h b/src/corelib/tools/qduplicatetracker_p.h
index 47c97100f9..5cfa19e03b 100644
--- a/src/corelib/tools/qduplicatetracker_p.h
+++ b/src/corelib/tools/qduplicatetracker_p.h
@@ -81,9 +81,10 @@ class QDuplicateTracker {
char buffer[bufferSize(Prealloc)];
std::pmr::monotonic_buffer_resource res{buffer, sizeof buffer};
- std::pmr::unordered_set<T, QHasher<T>> set{&res};
+ std::pmr::unordered_set<T, QHasher<T>> set{Prealloc, &res};
#else
- QSet<T> set;
+ static QSet<T> makeQSet() { QSet<T> r; r.reserve(Prealloc); return r; }
+ QSet<T> set = makeQSet();
int setSize = 0;
#endif
Q_DISABLE_COPY_MOVE(QDuplicateTracker);